首頁 >後端開發 >php教程 >php下intval()和(int)轉換使用與區別

php下intval()和(int)轉換使用與區別

不言
不言原創
2018-06-06 11:19:013083瀏覽

這篇文章主要介紹了關於php下intval()和(int)轉換使用與區別,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

#想知道使用intval()和(int)轉換有什麼差別?或者說兩者有什麼不同,包括功能、定義方面的。或和使用頻率、效率等。

複製程式碼 程式碼如下:

<?php 
echo "<br/>数值强制转换:"; 
$string="2a"; 
$string1=intval($string); 
echo &#39;$string1的值:&#39;.$string1.&#39;$string2的值:&#39;;//单引号不会输出变量,将原样输出 
$string2=(int)($string); 
echo $string2 
?>

手冊上查不到。
這也是手冊上所說的:引用:
int intval ( mixed $var [, int $base ] )
使用特定的進位轉換(預設為十進位),並傳回變數 var 數值。 如果只有這點差異的話,那麼我喜歡用(int)處理10進位的情況是不錯的選擇吧?
沒啥區別,一般用(int),另外還有 float, string, array 等
intval()而言,如果參數是字串,則傳回字串中第一個不是數字的字元之前的數字字串所代表的整數值。如果字串第一個是‘-',則從第二個開始算起。
如果參數是符點數,則回傳他取整之後的值。
當然intval()傳回的值在一個4位元組所能表示的範圍之內(-2147483648~2147483647),對於超過這個範圍的值將以邊界值取代。
例:

intval("A")=0; intval(12.3223)=12; intval("1123Asdfka3243")=1123; 
int();

範例:

$a=0.13; 
$b=(int)$a; //$b=0; 
$a=0.99; 
$b=(int)$a; //$b=0; 
$a=1.01; 
$b=(int)$a; //$b=1; 
$a=1.99; 
$b=(int)$a; //$b=1;

#PHP字串轉換為int
有時,重要的是有一個int格式的變量的值。 eaxmple,如果你的訪客填寫表單,隨著年齡的領域,這應該是一個int。然而,在$ _POST數組,你把它當作一個字串。
轉換為int的PHP字串是很容易的。我們需要使用之前,你的變數類型casting.So你需要使用(INT)。以下是一個例子,如何做到這一點:

複製程式碼 程式碼如下:

<?php $str = "10"; $num = (int)$str;?>

如果要檢查的程式碼REALY工程,我們可以使用= ==運算符。這個操作符檢查不僅值,但類型以及。這樣的程式碼看起來應該是這樣的:

複製程式碼 程式碼如下:

<?php 
$str = "10"; 
$num = (int)$str; 
if ($str === 10) echo "String"; 
if ($num === 10) echo "Integer"; 
?>

還有一個問題是開放的。如果我們的字串是不是一個單純的數字的字串,會發生什麼事。我的意思是有其他字串中的字元。在這種情況下,轉換操作嘗試最好的和可以轉換的字串,如果只有空間是有,如果沒有有效的字元後的數字值。它的工作原理如下:

“10” - > 10 
“10.5” - > 10 
“10,5” - > 10 
“10” - > 10 
“10” - > 10 
“10test” - > 10 
“test10” - > 0

相關推薦:

php中file_get_contents與curl效能比較分析

######################################################################## ####

以上是php下intval()和(int)轉換使用與區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn