您好,登錄后才能下訂單哦!
這篇文章主要介紹php如何強轉數據類型,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
強轉方法:1、在要轉換的變量之前加上用括號括起來的目標類型(“(int)”、“(bool)”、“(float)”等);2、使用類型轉換函數intval()、floatval()、boolval()、strval()、settype()。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
PHP強制類型轉換
PHP 中的強制類型轉換和其他語言很類似,可以在要轉換的變量之前加上用括號括起來的目標類型(例如$var = (int)3.1415;
),也可以使用具體的類型轉換函數(例如 intval()
、floatval()
、strval()
等)或者 settype()
來轉換類型。
使用在變量之前加上用括號括起來的目標類型的方式強制轉換變量類型時,括號中允許使用的變量類型如下所示:
(int)
、(integer)
:轉換成整型;
(bool)
、(boolean)
:轉換成布爾類型;
(float)
、(double)
、(real)
:轉換成浮點類型;
(string)
:轉換成字符串類型;
(array)
:轉換成數組類型;
(object)
:轉換成對象類型。
使用具體的轉換函數 intval()
、floatval()
、boolval()
、strval()
等來轉換變量的類型時,這些函數的作用如下所示:
intval():用于獲取變量的整數值;
floatval():用于獲取變量的浮點值;
boolval():用于獲取變量的布爾值;
strval():用于獲取變量的字符串值。
【示例】使用以上幾個函數強制轉換變量的類型。
<?php $str = '123.456abc'; $int = intval($str); echo '變量 $int 的類型為:'.gettype($int).'<br>'; $float = floatval($str); echo '變量 $float 的類型為:'.gettype($float).'<br>'; $string = strval($str); echo '變量 $string 的類型為:'.gettype($string); ?>
運行結果如下:
變量 $int 的類型為:integer 變量 $float 的類型為:double 變量 $string 的類型為:string
上面介紹的兩種強制類型轉換的方式都不會改變被轉換變量本身的類型,而是通過將轉換得到的新類型的數據賦值給新的變量,原變量的類型和值不變。
如果需要改變變量本身的類型可以使用 settype()
函數來完成,函數的語法格式如下:
settype(mixed &$var, string $type)
其中,$var 為要轉換的變量;$type 為要轉換的類型,可以是 boolean(bool)
、integer(int)
、float(double)
、string
、array
、object
、null
。
【示例】使用 settype() 函數強制轉換變量的類型。
<?php $str = (string)'123abc'; $bool = (bool)true; settype($str, 'integer'); settype($bool, 'string'); echo '$str 的類型為:'.gettype($str).'<br> $bool 的類型為:'.gettype($bool); ?>
運行結果如下:
$str 的類型為:integer $bool 的類型為:string
使用強制類型轉換有以下幾點需要注意:
整型轉化為浮點型,由于浮點型的精度范圍遠大于整型,所以轉化后的精度不會改變;
浮點型轉化為整型,將會自動舍棄小數部分,只保留整數部分。如果一個浮點數超過整型數字的有效范圍,其結果將是不確定的;
字符串轉化為數字時,是從字符串開始到第一個不是數字的字符結束(不符合的內容清空),也就是說如果字符串第一個字符不是數字的話,轉換后的結果為 0;
NULL 值轉為字符串,結果為空字符。
以上是“php如何強轉數據類型”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。