integer 是集合 ℤ = {..., -2, -1, 0, 1, 2, ...} 中(zhōng)的某個數。
語法:
整型值可以使用十進制,十六進制,八進制或二進制表示,前面可以加上可選的符号(- 或者 +)。
二進制表達的 integer 自 PHP 5.4.0 起可用。
要使用八進制表達,數字前必須加上 0(零)。要使用十六進制表達,數字前必須加上 0x。要使用二進制表達,數字前必須加上 0b。
例如:整數文字表達
$a = 1234; // 十進制數
$a = -123; // 負數
$a = 0123; // 八進制數 (等于十進制 83)
$a = 0x1A; // 十六進制數 (等于十進制 26)
$a = 0b11111111; // 二進制數字 (等于十進制 255)
?>
integer 語法的結構形式是:
decimal : [1-9][0-9]* | 0 hexadecimal : 0[xX][0-9a-fA-F]+ octal : 0[0-7]+ binary : 0b[01]+ integer : [+-]?decimal | [+-]?hexadecimal | [+-]?octal | [+-]?binary
整型數的字長和平台有關,盡管通常最大(dà)值是大(dà)約二十億(32 位有符号)。64 位平台下(xià)的最大(dà)值通常是大(dà)約 9E18,除了 Windows 下(xià) PHP 7 以前的版本,總是 32 位的。 PHP 不支持無符号的 integer。Integer 值的字長可以用常量 PHP_INT_SIZE
來表示,自 PHP 4.4.0 和 PHP 5.0.5後,最大(dà)值可以用常量 PHP_INT_MAX
來表示,最小(xiǎo)值可以在 PHP 7.0.0 及以後的版本中(zhōng)用常量 PHP_INT_MIN
表示。
PHP 7 以前的版本裏,如果向八進制數傳遞了一(yī)個非法數字(即 8 或 9),則後面其餘數字會被忽略。PHP 7 以後,會産生(shēng) Parse Error。
如果給定的一(yī)個數超出了 integer 的範圍,将會被解釋爲 float。同樣如果執行的運算結果超出了 integer 範圍,也會返回 float。
PHP 中(zhōng)沒有整除的運算符。1/2 産生(shēng)出 float 0.5。 值可以舍棄小(xiǎo)數部分(fēn),強制轉換爲 integer,或者使用 round() 函數可以更好地進行四舍五入。
轉換爲整型:
要明确地将一(yī)個值轉換爲 integer,用 (int) 或 (integer) 強制轉換。不過大(dà)多數情況下(xià)都不需要強制轉換,因爲當運算符,函數或流程控制需要一(yī)個 integer 參數時,值會自動轉換。還可以通過函數 intval() 來将一(yī)個值轉換成整型。