創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!
創(chuàng)新互聯(lián)公司堅(jiān)信:善待客戶(hù),將會(huì)成為終身客戶(hù)。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨?lài)。我們從不忽悠初訪客戶(hù),我們用心做好本職工作,不忘初心,方得始終。10年網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)公司是成都老牌網(wǎng)站營(yíng)銷(xiāo)服務(wù)商,為您提供成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、html5、網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、小程序開(kāi)發(fā)服務(wù),給眾多知名企業(yè)提供過(guò)好品質(zhì)的建站服務(wù)。有哪些php的類(lèi)型強(qiáng)制轉(zhuǎn)換?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
php強(qiáng)制轉(zhuǎn)換類(lèi)型有:1、轉(zhuǎn)換成整型;2、轉(zhuǎn)換成布爾型;3、轉(zhuǎn)換成浮點(diǎn)型;4、轉(zhuǎn)換成字符串;5、轉(zhuǎn)換成數(shù)組;6、轉(zhuǎn)換成對(duì)象。
php強(qiáng)制轉(zhuǎn)換類(lèi)型有:
PHP 中的類(lèi)型強(qiáng)制轉(zhuǎn)換和 C 中的非常像:在要轉(zhuǎn)換的變量之前加上用括號(hào)括起來(lái)的目標(biāo)類(lèi)型。
允許的強(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ì)象
注意在括號(hào)內(nèi)允許有空格和制表符
還可以用settype ( mixed var, string type )進(jìn)行強(qiáng)制轉(zhuǎn)換.
1.強(qiáng)制轉(zhuǎn)換為布爾值 (bool)|(boolean)
要明示地將一個(gè)值轉(zhuǎn)換成 boolean,用 (bool) 或者 (boolean) 來(lái)強(qiáng)制轉(zhuǎn)換。但是很多情況下不需要用強(qiáng)制轉(zhuǎn)換,因?yàn)楫?dāng)運(yùn)算符,函數(shù)或者流程控制需要一個(gè) boolean 參數(shù)時(shí),該值會(huì)被自動(dòng)轉(zhuǎn)換。
當(dāng)轉(zhuǎn)換為 boolean 時(shí),以下值被認(rèn)為是 FALSE:
布爾值 FALSE
整型值 0(零)
浮點(diǎn)型值 0.0(零)
空白字符串和字符串 "0"
沒(méi)有成員變量的數(shù)組
沒(méi)有單元的對(duì)象(僅適用于 PHP 4)
特殊類(lèi)型 NULL(包括尚未設(shè)定的變量)
所有其它值都被認(rèn)為是 TRUE(包括任何資源)。
2.強(qiáng)制轉(zhuǎn)換為整形(int)|(integer)
要明示地將一個(gè)值轉(zhuǎn)換為 integer,用 (int) 或 (integer) 強(qiáng)制轉(zhuǎn)換。不過(guò)大多數(shù)情況下都不需要強(qiáng)制轉(zhuǎn)換,因?yàn)楫?dāng)運(yùn)算符,函數(shù)或流程控制需要一個(gè) integer 參數(shù)時(shí),值會(huì)自動(dòng)轉(zhuǎn)換。還可以通過(guò)函數(shù) intval() 來(lái)將一個(gè)值轉(zhuǎn)換成整型。
a.從bool轉(zhuǎn)換
b.從浮點(diǎn)數(shù)轉(zhuǎn)換 取整,超出范圍,結(jié)果不定
c.從字符串轉(zhuǎn)換 參看字符串轉(zhuǎn)換為數(shù)值
d.從其它類(lèi)型轉(zhuǎn)換 先換成 bool值,再轉(zhuǎn)換
決不要將未知的分?jǐn)?shù)強(qiáng)制轉(zhuǎn)換為 integer,這樣有時(shí)會(huì)導(dǎo)致意外的結(jié)果。
$str = "123.456abc7"; // (int)123 echo (int)$str; $str = "abc123.456"; // (int)0 $str = true; // (int)1 $str = false; // (int)0
3.強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型 (int)|(double)|(real)|doubleval()|floatval()|intval()
精度: 0.12345678901234 // double,real都一樣
數(shù)據(jù)的丟失參 字符串轉(zhuǎn)換為數(shù)值
4.強(qiáng)制換為字符串 (string) |strval()
可以用 (string) 標(biāo)記或者 strval()
函數(shù)將一個(gè)值轉(zhuǎn)換為字符串。當(dāng)某表達(dá)式需要字符串時(shí),字符串的轉(zhuǎn)換會(huì)在表達(dá)式范圍內(nèi)自動(dòng)完成。例如當(dāng)使用 echo()
或者 print()
函數(shù)時(shí),或者將一個(gè)變量值與一個(gè)字符串進(jìn)行比較的時(shí)候。
布爾值 TRUE 將被轉(zhuǎn)換為字符串 "1",而值 FALSE 將被表示為 ""(即空字符串)。這樣就可以隨意地在布爾值和字符串之間進(jìn)行比較。
整數(shù)或浮點(diǎn)數(shù)數(shù)值在轉(zhuǎn)換成字符串時(shí),字符串由表示這些數(shù)值的數(shù)字字符組成(浮點(diǎn)數(shù)還包含有指數(shù)部分)。
數(shù)組將被轉(zhuǎn)換成字符串 "Array",因此無(wú)法通過(guò) echo() 或者 print() 函數(shù)來(lái)輸出數(shù)組的內(nèi)容。請(qǐng)參考下文以獲取更多提示。
對(duì)象將被轉(zhuǎn)換成字符串 "Object"。如果因?yàn)檎{(diào)試需要,需要將對(duì)象的成員變量打印出來(lái),請(qǐng)閱讀下文。如果希望得到該對(duì)象所依附的類(lèi)的名稱(chēng),請(qǐng)使用函數(shù) get_class()。自 PHP 5 起,如果合適可以用 __toString() 方法。
資源類(lèi)型總是以 "Resource id #1" 的格式被轉(zhuǎn)換成字符串,其中 1 是 PHP 在運(yùn)行時(shí)給資源指定的唯一標(biāo)識(shí)。如果希望獲取資源的類(lèi)型,請(qǐng)使用函數(shù) get_resource_type()。
NULL 將被轉(zhuǎn)換成空字符串。
正如以上所示,將數(shù)組、對(duì)象或者資源打印出來(lái),并不能提供任何關(guān)于這些值本身的有用的信息。請(qǐng)參閱函數(shù) print_r()
和 var_dump()
,對(duì)于調(diào)試來(lái)說(shuō),這些是更好的打印值的方法。
可以將 PHP 的值轉(zhuǎn)換為字符串以永久地儲(chǔ)存它們。這種方法被稱(chēng)為序列化,可以用函數(shù)serialize()
來(lái)完成該操作。如果在安裝 PHP 時(shí)建立了 WDDX 支持,還可以將 PHP 的值序列化為 XML 結(jié)構(gòu)。
5. 強(qiáng)制轉(zhuǎn)換為數(shù)組 (array)
對(duì)于任何的類(lèi)型:整型、浮點(diǎn)、字符串、布爾和資源,如果將一個(gè)值轉(zhuǎn)換為數(shù)組,將得到一個(gè)僅有一個(gè)元素的數(shù)組(其下標(biāo)為 0),該元素即為此標(biāo)量的值。
如果將一個(gè)對(duì)象轉(zhuǎn)換成一個(gè)數(shù)組,所得到的數(shù)組的元素為該對(duì)象的屬性(成員變量),其鍵名為成員變量名。
如果將一個(gè) NULL 值轉(zhuǎn)換成數(shù)組,將得到一個(gè)空數(shù)組。
6. 轉(zhuǎn)換為對(duì)象 (object)
如果將一個(gè)對(duì)象轉(zhuǎn)換成對(duì)象,它將不會(huì)有任何變化。
如果其它任何類(lèi)型的值被轉(zhuǎn)換成對(duì)象,內(nèi)置類(lèi) stdClass 的一個(gè)實(shí)例將被建立。
如果該值為 NULL,則新的實(shí)例為空。數(shù)組轉(zhuǎn)換成對(duì)象將使鍵名成為屬性名并具有相對(duì)應(yīng)的值。
對(duì)于任何其它的值,名為 scalar 的成員變量將包含該值
7.轉(zhuǎn)換為資源 (無(wú)法轉(zhuǎn)換)
由于資源類(lèi)型變量保存有為打開(kāi)文件、數(shù)據(jù)庫(kù)連接、圖形畫(huà)布區(qū)域等的特殊句柄,因此無(wú)法將其它類(lèi)型的值轉(zhuǎn)換為資源。
注意
HTML 表單并不傳遞整數(shù)、浮點(diǎn)數(shù)或者布爾值,它們只傳遞字符串。要想檢測(cè)一個(gè)字符串是不是數(shù)字,可以使用 is_numeric() 函數(shù)。
在沒(méi)有定義變量 $x 的時(shí)候,諸如 if ($x) 的用法會(huì)導(dǎo)致一個(gè) E_NOTICE 級(jí)別的錯(cuò)誤。所以,可以考慮用 empty
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。