intval

(PHP 4, PHP 5, PHP 7, PHP 8)

intval変数の整数としての値を取得する

説明

intval(mixed $value, int $base = 10): int

指定された値 base を基数(デフォルトは 10)とする、 valueint としての値を返します。 オブジェクトに intval() を使用することはできません。 その場合は E_NOTICE レベルのエラーを発して 1 を返します。

パラメータ

value

整数に変換するスカラー値

base

変換のための基数

注意:

base が 0 の場合は、 value のフォーマットに基づいて利用する基数を決めます。

  • 文字列の先頭が "0x" (あるいは "0X") の場合は、基数を 16 (十六進数) とします。
  • そうではなく、文字列の先頭が "0" の場合は、基数を 8 (八進数) とします。 otherwise,
  • それ以外の場合は、基数を 10 (十進数) とします。

戻り値

成功時は value の整数値、失敗時は 0。 空の配列の場合は 0、空でない配列の場合は 1 を返します。

最大値はシステムに依存します。32 ビットシステムでは、 最大の符号付き整数の範囲 -2147483648 ~ 2147483647 となります。 このため、そのようなシステムでは intval('1000000000000') は 2147483647 を返します。 64 ビットシステムにおける最大の符号付き整数は 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(428);                   // 42
echo intval('42'8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo''bar'));     // 1
echo intval(false);                   // 0
echo intval(true);                    // 1

?>

注意

注意:

パラメータ base はパラメータ value が文字列でない限り意味がありません。

参考

関連キーワード:  変数, 整数, 取得, intval, 基数, , 変換, パラメータ, 最大, int