intval
(PHP 4, PHP 5, PHP 7, PHP 8)
intval — 獲取變數的整數值
說明
   通過使用指定的進位制 base 轉換(預設是十進制),返回變數 value
   的 int 數值。
   intval() 不能用於 object,否則會產生
   E_NOTICE 錯誤並返回 1。
  
參數
- 
value
- 
      要轉換成 integer 的數量值 
- 
base
- 
      轉化所使用的進位制 注意: 如果 base是 0,通過檢測value的格式來決定使用的進位制:- 如果字串包括了 "0x" (或 "0X") 的字首,使用 16 進位制 (hex);否則,
- 如果字串以 "0" 開始,使用 8 進位制(octal);否則,
- 將使用 10 進位制 (decimal)。
 
返回值
   成功時返回 value 的 integer 值,失敗時返回 0。
   空的 array 返回 0,非空的 array 返回 1。
  
   最大的值取決於操作系統。 32 位系統最大帶符號的 integer 範圍是 -2147483648 到 2147483647。舉例,在這樣的系統上,intval('1000000000000') 會返回
   2147483647。64 位系統上,最大帶符號的 integer 值是
   9223372036854775807。
  
字串有可能返回 0,雖然取決於字串最左側的字元。 使用 整型轉換 的共同規則。
範例
示例 #1 intval() 例子
下面的例子執行于 32 位系統上。
<?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(1e10);                    // 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
echo intval(false);                   // 0
echo intval(true);                    // 1
?>
註釋
注意:
除非
value是一個字串,否則base不會起作用。
參見
- boolval() - 獲取變數的布爾值
- floatval() - 獲取變數的浮點值
- strval() - 獲取變數的字串值
- settype() - 設定變數的型別
- is_numeric() - 檢測變數是否為數字或數字字串
- 型別轉換的判別
- BCMath 任意精度數學函式