溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php如何強(qiáng)轉(zhuǎn)數(shù)據(jù)類型

發(fā)布時間:2021-11-19 09:37:33 來源:億速云 閱讀:182 作者:小新 欄目:編程語言

這篇文章主要介紹php如何強(qiáng)轉(zhuǎn)數(shù)據(jù)類型,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

強(qiáng)轉(zhuǎn)方法:1、在要轉(zhuǎn)換的變量之前加上用括號括起來的目標(biāo)類型(“(int)”、“(bool)”、“(float)”等);2、使用類型轉(zhuǎn)換函數(shù)intval()、floatval()、boolval()、strval()、settype()。

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦

PHP強(qiáng)制類型轉(zhuǎn)換

PHP 中的強(qiáng)制類型轉(zhuǎn)換和其他語言很類似,可以在要轉(zhuǎn)換的變量之前加上用括號括起來的目標(biāo)類型(例如$var = (int)3.1415;),也可以使用具體的類型轉(zhuǎn)換函數(shù)(例如 intval()floatval()、strval() 等)或者 settype() 來轉(zhuǎn)換類型。

使用在變量之前加上用括號括起來的目標(biāo)類型的方式強(qiáng)制轉(zhuǎn)換變量類型時,括號中允許使用的變量類型如下所示:

  • (int)(integer):轉(zhuǎn)換成整型;

  • (bool)(boolean):轉(zhuǎn)換成布爾類型;

  • (float)(double)、(real):轉(zhuǎn)換成浮點類型;

  • (string):轉(zhuǎn)換成字符串類型;

  • (array):轉(zhuǎn)換成數(shù)組類型;

  • (object):轉(zhuǎn)換成對象類型。

使用具體的轉(zhuǎn)換函數(shù) intval()、floatval()boolval()、strval() 等來轉(zhuǎn)換變量的類型時,這些函數(shù)的作用如下所示:

  • intval():用于獲取變量的整數(shù)值;

  • floatval():用于獲取變量的浮點值;

  • boolval():用于獲取變量的布爾值;

  • strval():用于獲取變量的字符串值。

【示例】使用以上幾個函數(shù)強(qiáng)制轉(zhuǎn)換變量的類型。

<?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);
?>

運(yùn)行結(jié)果如下:

變量 $int 的類型為:integer
變量 $float 的類型為:double
變量 $string 的類型為:string

上面介紹的兩種強(qiáng)制類型轉(zhuǎn)換的方式都不會改變被轉(zhuǎn)換變量本身的類型,而是通過將轉(zhuǎn)換得到的新類型的數(shù)據(jù)賦值給新的變量,原變量的類型和值不變。

如果需要改變變量本身的類型可以使用 settype() 函數(shù)來完成,函數(shù)的語法格式如下:

settype(mixed &$var, string $type)

其中,$var 為要轉(zhuǎn)換的變量;$type 為要轉(zhuǎn)換的類型,可以是 boolean(bool)、integer(int)、float(double)、stringarray、objectnull。

【示例】使用 settype() 函數(shù)強(qiáng)制轉(zhuǎn)換變量的類型。

<?php
    $str = (string)'123abc';
    $bool = (bool)true;
    settype($str, 'integer');
    settype($bool, 'string');
    echo '$str 的類型為:'.gettype($str).'<br> $bool 的類型為:'.gettype($bool);
?>

運(yùn)行結(jié)果如下:

$str 的類型為:integer
$bool 的類型為:string

使用強(qiáng)制類型轉(zhuǎn)換有以下幾點需要注意:

  • 整型轉(zhuǎn)化為浮點型,由于浮點型的精度范圍遠(yuǎn)大于整型,所以轉(zhuǎn)化后的精度不會改變;

  • 浮點型轉(zhuǎn)化為整型,將會自動舍棄小數(shù)部分,只保留整數(shù)部分。如果一個浮點數(shù)超過整型數(shù)字的有效范圍,其結(jié)果將是不確定的;

  • 字符串轉(zhuǎn)化為數(shù)字時,是從字符串開始到第一個不是數(shù)字的字符結(jié)束(不符合的內(nèi)容清空),也就是說如果字符串第一個字符不是數(shù)字的話,轉(zhuǎn)換后的結(jié)果為 0;

  • NULL 值轉(zhuǎn)為字符串,結(jié)果為空字符。


以上是“php如何強(qiáng)轉(zhuǎn)數(shù)據(jù)類型”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI