PHP是一門(mén)松散類(lèi)型的語(yǔ)言,不必對(duì)使用的變量做專(zhuān)門(mén)的定義,這給程序的編寫(xiě)帶來(lái)很大的靈活與方便.但我們?cè)诔绦蚓帉?xiě)過(guò)程中,需要知道自己使用的變量是哪種類(lèi)型的,因?yàn)樽兞渴冀K有一種類(lèi)型與之對(duì)應(yīng).盡管各類(lèi)型之間幾乎可以做自由的轉(zhuǎn)換,如果隨意使用或者轉(zhuǎn)化變量類(lèi)型,可能導(dǎo)致一些潛在的錯(cuò)誤
PHP 中的類(lèi)型強(qiáng)制轉(zhuǎn)換和 C 中的非常像:在要轉(zhuǎn)換的變量之前加上用括號(hào)括起來(lái)的目標(biāo)類(lèi)型:
實(shí)例代碼如下:
- <?php
- $foo = 10; // $foo 為整型
- $bar = (boolean) $foo; // $bar 為布爾型
- ?>
類(lèi)型轉(zhuǎn)換
PHP 在變量定義中不需要(或不支持)明確的類(lèi)型定義;變量類(lèi)型是根據(jù)使用該變量的上下文所決定的.也就是說(shuō),如果把一個(gè)字符串值賦給變量 var,var 就成了一個(gè)字符串.如果又把一個(gè)整型值賦給 var,那它就成了一個(gè)整數(shù).
PHP 的自動(dòng)類(lèi)型轉(zhuǎn)換的一個(gè)例子是加號(hào)“+”.如果任何一個(gè)操作數(shù)是浮點(diǎn)數(shù),則所有的操作數(shù)都被當(dāng)成浮點(diǎn)數(shù),結(jié)果也是浮點(diǎn)數(shù).否則操作數(shù)會(huì)被解釋為整數(shù),結(jié)果也是整數(shù).注意這并沒(méi)有改變這些操作數(shù)本身的類(lèi)型;改變的僅是這些操作數(shù)如何被求值以及表達(dá)式本身的類(lèi)型.
類(lèi)型強(qiáng)制轉(zhuǎn)換
PHP 中的類(lèi)型強(qiáng)制轉(zhuǎn)換和 C 中的非常像:在要轉(zhuǎn)換的變量之前加上用括號(hào)括起來(lái)的目標(biāo)類(lèi)型:
實(shí)例代碼如下:
- <?php
- $foo = 10; // $foo 為整型
- $bar = (boolean) $foo; // $bar 為布爾型
- ?>
允許的強(qiáng)制轉(zhuǎn)換有:
(int)或(integer) - 轉(zhuǎn)換成整型
(bool)或(boolean) - 轉(zhuǎn)換成布爾型
(float)或(double)或(real) - 轉(zhuǎn)換成浮點(diǎn)型
(string) - 轉(zhuǎn)換成字符串
(array) - 轉(zhuǎn)換成數(shù)組
(object) - 轉(zhuǎn)換成對(duì)象
另外,將一個(gè)變量還原為字符串,還可以將變量放置在雙引號(hào)中:
數(shù)字換成字符轉(zhuǎn)
實(shí)例代碼如下:
- <?php
- $foo = 10; // $foo 為整型
- $str = "$foo"; // $str 為字符串
- ?>
在我們常用的字符串轉(zhuǎn)換成整型有個(gè)超簡(jiǎn)單的方法
實(shí)例代碼如下:
- $str=http://m.survivalescaperooms.com;
- $int = intval($str);
這樣$int=0;了哦.
當(dāng)一個(gè)字符串被當(dāng)作數(shù)字來(lái)求值時(shí),根據(jù)以下規(guī)則來(lái)決定結(jié)果的類(lèi)型和值:
如果包括“.”,“e”或“E”其中任何一個(gè)字符的話,字符串被當(dāng)作 float 來(lái)求值,否則就被當(dāng)作整數(shù)
該值由字符串最前面的部分決定.如果字符串以合法的數(shù)字?jǐn)?shù)據(jù)開(kāi)始,就用該數(shù)字作為其值,否則其值為 0(零).合法數(shù)字?jǐn)?shù)據(jù)由可選的正負(fù)號(hào)開(kāi)始,后面跟著一個(gè)或多個(gè)數(shù)字(可選地包括十進(jìn)制分?jǐn)?shù)),后面跟著可選的指數(shù).指數(shù)是一個(gè)“e”或者“E”后面跟著一個(gè)或多個(gè)數(shù)字
實(shí)例代碼如下:
- <?php
- $foo = 1 + "10.5"; // $foo為浮點(diǎn)型:11.5
- $foo = 1 + "-1.3e3"; // $foo 為浮點(diǎn)型:-1299
- $foo = 1 + "bob-1.3e3"; // $foo 為整型:1
- $foo = 1 + "bob3"; // $foo為整型:1
- $foo = 1 + "10 Small Pigs"; // $foo為整型:11
- $foo = "10.0 pigs " + 1; // $foo 為浮點(diǎn)型:11
- ?>
由于php無(wú)需在數(shù)據(jù)使用時(shí)定義變量所以我們可以靈活的定義變量,同時(shí)也可以靈活的轉(zhuǎn)換數(shù)據(jù)類(lèi)型.
新聞熱點(diǎn)
疑難解答