欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php下intval()和(int)轉(zhuǎn)換使用與區(qū)別

 更新時(shí)間:2008年07月18日 08:41:37   作者:  
想知道使用intval()和(int)轉(zhuǎn)換有什么區(qū)別?或者說(shuō)兩者有什么不同,包括功能、定義方面的?;蛘吆褪褂妙l率、效率等。
復(fù)制代碼 代碼如下:

<?php
echo "<br/>數(shù)值強(qiáng)制轉(zhuǎn)換:";
$string="2a";
$string1=intval($string);
echo '$string1的值:'.$string1.'$string2的值:';//單引號(hào)不會(huì)輸出變量,將原樣輸出
$string2=(int)($string);
echo $string2
?>
 

手冊(cè)上查不到。
這也是手冊(cè)上說(shuō)的:引用:
int intval ( mixed $var [, int $base ] )
通過(guò)使用特定的進(jìn)制轉(zhuǎn)換(默認(rèn)是十進(jìn)制),返回變量 var 的 integer 數(shù)值。 如果只有這點(diǎn)區(qū)別的話,那么我喜歡用(int)處理10進(jìn)制的情況是不錯(cuò)的選擇吧?
沒啥區(qū)別,一般用(int),另外還有 float, string, array 等

intval()而言,如果參數(shù)是字符串,則返回字符串中第一個(gè)不是數(shù)字的字符之前的數(shù)字串所代表的整數(shù)值。如果字符串第一個(gè)是‘-',則從第二個(gè)開始算起。

如果參數(shù)是符點(diǎn)數(shù),則返回他取整之后的值。

當(dāng)然intval()返回的值在一個(gè)4字節(jié)所能表示的范圍之內(nèi)(-2147483648~2147483647),對(duì)于超過(guò)這個(gè)范圍的值將用邊界值代替。

例: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字符串轉(zhuǎn)換為int

有時(shí),重要的是有一個(gè)int格式的變量的值。 eaxmple,如果你的訪問(wèn)者填寫表單,隨著年齡的領(lǐng)域,這應(yīng)該是一個(gè)int。然而,在$ _POST數(shù)組,你把它作為一個(gè)字符串。
轉(zhuǎn)換為int的PHP字符串是很容易的。我們需要使用之前,你的變量類型casting.So你需要使用(INT)。下面是一個(gè)例子,如何做到這一點(diǎn):
復(fù)制代碼 代碼如下:

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

如果要檢查的代碼REALY工程,我們可以使用===運(yùn)算符。這個(gè)操作符檢查不僅值,但類型以及。這樣的代碼看起來(lái)應(yīng)該是這樣的:
復(fù)制代碼 代碼如下:

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

還有一個(gè)問(wèn)題是開放的。如果我們的字符串是不是一個(gè)單純的數(shù)字的字符串,會(huì)發(fā)生什么。我的意思是有其他字符串中的字符。在這種情況下,轉(zhuǎn)換操作嘗試最好的和可以轉(zhuǎn)換的字符串,如果只有空間是有,如果沒有有效的字符后的數(shù)字值。它的工作原理如下:

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

相關(guān)文章

最新評(píng)論