intval()函數用於取得變數的整數值。
intval()函數透過使用指定的進位base 轉換(預設為十進位),傳回變數var 的integer 數值。 intval() 不能用於object,否則會產生E_NOTICE 錯誤並回傳1。
PHP 4, PHP 5, PHP 7
文法
int intval ( mixed $var [, int $base = 10 ] )
參數說明:
$var:要轉換成integer 的數量值。
$base:轉換所使用的進位。
如果base 是0,透過偵測var 的格式來決定使用的進位:
如果字串包括了"0x" (或"0X") 的前綴,請使用16 進位(hex);否則,
如果字串以"0" 開始,使用8 進位(octal);否則,
將使用10 進位(decimal)。
傳回值
成功時傳回var 的integer 值,失敗時回傳0。 空的array 回傳0,非空的array 回傳1。
最大的值取決於作業系統。 32 位元系統最大帶符號的integer 範圍是-2147483648 到2147483647。舉例,在這樣的系統上, intval('1000000000000') 會回傳2147483647。64 位元系統上,最大帶符號的integer 值是9223372036854775807。
字串有可能回傳0,雖然取決於字串最左側的字元。
實例
實例
<?php echo intval ( 42 ) ; // 42 echo intval ( 4 .2 ) ; // 4 echo intval ( ' 42 ' ) ; // 42 echo intval ( ' +42 ' ) ; // 42 echo intval ( ' -42 ' ) ; // -42 echo intval ( 042 ) ; // 34 echo intval ( ' 042 ' ) ; // 42 echo intval ( 1 e10 ) ; // 1410065408 echo intval ( ' 1e10 ' ) ; // 1 echo intval ( 0x1A ) ; // 26 echo intval ( 42000000 ) ; // 42000000 echo intval ( 420000000000000000000 ) ; // 0 echo intval ( ' 420000000000000000000 ' ) ; // 2147483647 echo intval ( 42 , 8 ) ; // 42 echo intval ( ' 42 ' , 8 ) ; // 34 echo intval ( array ( ) ) ; // 0 echo intval ( array ( ' foo ' , ' bar ' ) ) ; // 1 ?>