語法:可以用十進位、十六進位以及八進位來表示,PHP沒有無號整數。 PHP5.4.0可以使用二進位的方式表是一個整數。<?php $a = 1234; // 十進位數 $a = -123; // 負數 $a = 0123; // 八進位數 (等於十進位 83) $a = 0x1A; // 十六進位數 (等於十進位 26) $a = 0b111; // 二進位數 ?>
八進位的怪事 當輸入的值不符合八進位的要求,則會忽略後面的部分<?php var_dump(01090); // 010 octal = 8 decimal ?>
根據作業系統的位元數,整數的最大值有所不同,32位元大約是20億左右,64位元最大值大約為9E18 PHP有預定義的常數 PHP_INT_MAX 跟 PHP_INT_SIZE。<?php echo PHP_INT_MAX; // 顯示最大的整數值 2147483647 echo PHP_INT_SIZE; // 顯示儲存整數的空間 4 Bytes ?>
整數溢出 當給訂的數字超過了 integer 的範圍,將會被解釋為 float,如果執行後的結果溢出也是會回傳 float。 絕對不要將未知的分數強制轉換為 integer ,有時候會導致非預期的錯誤<?php echo (int) ( (0.1+0.7) * 10 ); // 顯示 7! ?>
沒有留言:
張貼留言