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

想知道使用intval()和(int)轉換有什麼區別?或者說兩者有什麼不同,包括功能、定義方面的。或者和使用頻率、效率等。就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!

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

代碼如下:

<?php

echo "<br/>數值強制轉換:";

$string="2a";

$string1=intval($string);

echo '$string1的值:'.$string1.'$string2的值:';//單引號不會輸出變量,將原樣輸出

$string2=(int)($string);

echo $string2

?>

手冊上查不到。

這也是手冊上說的:引用:

int intval ( mixed $var [, int $base ] )

通過使用特定的進制轉換(默認是十進制),返回變量 var 的 integer 數值。 如果只有這點區別的話,那麼我喜歡用(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字符串是很容易的。我們需要使用之前,你的變量類型你需要使用(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