您好,登錄后才能下訂單哦!
這篇文章主要介紹“php如何將字符串轉化為數字”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“php如何將字符串轉化為數字”文章能幫助大家解決問題。
4種轉換方法:1、使用intval()函數轉換,語法“intval($val)”;2、使用settype()函數轉換,語法“settype($val,"integer")”;3、在變量前加上用括號括起來的目標類型“(int)”,語法“(int)$val”;4、使用“+”運算符將字符串和數字0相加,語法“$val + 0”。
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如何將字符串轉化為數字”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。