4種轉換方法:1、使用intval()函式轉換,語法“intval($val)”;2、使用settype()函式轉換,語法“settype($val,"integer")” ;3、在變數前加上用括號括起來的目標類型“(int)”,語法“(int)$val”;4、使用“ ”運算子將字串和數字0相加,語法“$val 0”。
本教學操作環境:windows7系統、PHP8版、DELL G3電腦
php將值強制轉為數字型別
方法1:使用特定的轉換函數intval()
intval() 函數用來取得變數的整數值。
intval() 函數透過使用指定的進位 base 轉換(預設為十進位),傳回變數 var 的 integer 數值。 intval() 不能用於 object,否則會產生 E_NOTICE 錯誤並傳回 1。
<?php header("Content-type:text/html;charset=utf-8"); $str = '123.456abc'; echo $str."<br>"; $int = intval($str); echo $int."<br>"; echo '变量 $int 的类型为:' . gettype($int) . '<br>'; echo '<hr>'; $str = 'abc123.456'; echo $str."<br>"; $int = intval($str); echo $int."<br>"; echo '变量 $int 的类型为:' . gettype($int) . '<br>'; echo '<hr>'; $str = '123.abc456'; echo $str."<br>"; $int = intval($str); echo $int."<br>"; echo '变量 $int 的类型为:' . gettype($int) . '<br>'; ?>
附註:使用intval() 函數將字串轉數字時,只能擷取字元前的數字,如果字母開頭,則擷取的數為0.
方法2:使用settype()函數
<?php header("Content-type:text/html;charset=utf-8"); $str = '123.456abc'; echo $str."<br>"; settype($str,"integer"); echo $str."<br>"; echo '修改后的类型为:' . gettype($str) . '<br>'; echo '<hr>'; $str = 'abc123.456'; echo $str."<br>"; settype($str,"integer"); echo $str."<br>"; echo '修改后的类型为:' . gettype($str) . '<br>'; ?>
#說明:
settype() 函數用於將變數$var設定為指定$type類型。語法:
settype ( $var ,$type )
$type可設定的值:
"boolean" (或為"bool",從PHP 4.2.0 起)
"integer" (或為"int",由PHP 4.2.0 起)
"float" (只在PHP 4.2.0 之後可用,對於舊版本中使用的"double"現已停用)
"string"
"array"
"object"
"null" (從PHP 4.2.0 起)
settype() 函數會改變變數本身的類型。
方法3:在要轉換的變數之前加上用括號括起來的目標類型「(int)」或「(integer)」
<?php header("Content-type:text/html;charset=utf-8"); $str = '123.456abc'; $int = (int)$str; echo $int."<br>"; echo '变量 $int 的类型为:' . gettype($int) . '<br>'; ?>
方法4:使用「」運算子將字串和數字0相加
<?php header("Content-type:text/html;charset=utf-8"); $str = '123abc'; echo $str."<br>"; $int = $str+0; echo $int."<br>"; echo '变量 $int 的类型为:' . gettype($int) . '<br>'; ?>
因為PHP是弱類型的語言,會進行隱形數字類型轉換。
推薦學習:《PHP影片教學》
以上是php怎麼將字串轉換為數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!