array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.intval.php', 1 => 'intval', ), 'up' => array ( 0 => 'ref.var.php', 1 => '変数操作 関数', ), 'prev' => array ( 0 => 'function.gettype.php', 1 => 'gettype', ), 'next' => array ( 0 => 'function.is-array.php', 1 => 'is_array', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/var/functions/intval.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
intval — 変数の整数としての値を取得する
指定された値 base
を基数(デフォルトは 10)とする、
value
の int としての値を返します。
オブジェクトに intval() を使用することはできません。
その場合は E_WARNING
レベルのエラーを発して 1 を返します。
value
整数に変換するスカラー値
base
変換のための基数
注意:
base
が 0 の場合は、value
のフォーマットに基づいて利用する基数を決めます。
- 文字列の先頭が "0x" (あるいは "0X") の場合は、基数を 16 (十六進数) とします。
- 文字列の先頭が "0b" (あるいは "0B") の場合は、基数を 2 (二進数) とします。
- 文字列の先頭が "0" の場合は、基数を 8 (八進数) とします。
- それ以外の場合は、基数を 10 (十進数) とします。
成功時は value
の整数値、失敗時は 0。
空の配列の場合は 0、空でない配列の場合は
1 を返します。
最大値はシステムに依存します。32 ビットシステムでは、
最大の符号付き整数の範囲 -2147483648 ~ 2147483647 となります。
このため、そのようなシステムでは intval('1000000000000')
は 2147483647 を返します。
64 ビットシステムにおける最大の符号付き整数は 9223372036854775807
となります。
文字列の場合、文字列の最左の文字に依存しますが、ほとんどの場合で 0 を返します。 整数への変換 の一般的なルールが適用されます。
例1 intval() の例
以下の例は 64 ビットシステムに基づきます。
<?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); // 10000000000
echo intval('1e10'); // 10000000000
echo intval(0x1A); // 26
echo intval('0x1A'); // 0
echo intval('0x1A', 0); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // -4275113695319687168
echo intval('420000000000000000000'); // 9223372036854775807
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
?>
注意:
パラメータ
base
はパラメータvalue
が文字列でない限り意味がありません。