語法
整型值可以使用十進制,十六進制,八進制或二進制表示,前面可以加上可選的符號(- 或者 +)。
1 <?php 2 echo 234; // 十進制數 3 echo -123; // 負數 4 echo 012; // 八進制數(十進制數 10) 5 echo 0x12; // 十六進制數(十進制18)
整數溢出
1 <?php 2 $a = 123456789*50000; 3 var_dump($a); // float(6172839450000)
如果給定的一個數超出了 integer 的范圍,將會被解釋為 float 。同樣如果執行的運算結果超出了 integer 范圍,也會返回 float 。
轉換為整型
要明確地將一個值轉換為 integer ,用 (int) 或 (integer) 強制轉換。不過大多數情況下都不需要強制轉換,因為當運算符,函數或流程控制需要一個 integer 參數時,值會自動轉換。還可以通過函數 intval() 來將一個值轉換成整型。
1 var_dump((int)'123'); // int(123)
從布爾值轉換
FALSE 將產生出 0(零), TRUE 將產生出 1(壹)。
var_dump((int)true); // int(1) var_dump((int)false); // int(0)
從浮點型轉換
當從浮點數轉換成整數時,將向下取整。
1 var_dump((int)345.45); // int(345)