PHPの型チェックのメモ
テストコード
$f = tempnam(‘/tmp/’,‘test’); $testme = array( null, true, false, array(), 0, 1, 0.10, 1.123, ‘’, ‘0’, ‘1’, ‘10’, ‘0.10’, ‘1.123’, ‘1,234,567’, ’ 1’, ’1 ’, ’ 1 ’, ‘Hello’, new stdClass(), fopen($f,‘w’), ); $result = array(); foreach($testme as $value){ $tmp = array(); $tmp[‘value’] = $value; $tmp[‘isset’] = isset($value); $tmp[‘null’] = is_null($value); $tmp[‘empty’] = empty($value); $tmp[‘bool’] = is_bool($value); $tmp[‘array’] = is_array($value); $tmp[‘string’] = is_string($value); $tmp[‘int’] = is_int($value); $tmp[‘float’] = is_float($value); $tmp[‘numeric’] = is_numeric($value); $tmp[‘scalar’] = is_scalar($value); $tmp[‘object’] = is_object($value); $tmp[‘resource’] = is_resource($value); $tmp[‘true’] = ($value) ? true : false; $tmp[‘false’] = (!$value) ? true : false; $result[] = $tmp; } fclose($value); @unlink($f); var_dump($result);
結果
array (size=21)
0 =>
array (size=15)
'value' => null
'isset' => boolean false
'null' => boolean true
'empty' => boolean true
'bool' => boolean false
'array' => boolean false
'string' => boolean false
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean false
'object' => boolean false
'resource' => boolean false
'true' => boolean false
'false' => boolean true
1 =>
array (size=15)
'value' => boolean true
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean true
'array' => boolean false
'string' => boolean false
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
2 =>
array (size=15)
'value' => boolean false
'isset' => boolean true
'null' => boolean false
'empty' => boolean true
'bool' => boolean true
'array' => boolean false
'string' => boolean false
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean false
'false' => boolean true
3 =>
array (size=15)
'value' =>
array (size=0)
empty
'isset' => boolean true
'null' => boolean false
'empty' => boolean true
'bool' => boolean false
'array' => boolean true
'string' => boolean false
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean false
'object' => boolean false
'resource' => boolean false
'true' => boolean false
'false' => boolean true
4 =>
array (size=15)
'value' => int 0
'isset' => boolean true
'null' => boolean false
'empty' => boolean true
'bool' => boolean false
'array' => boolean false
'string' => boolean false
'int' => boolean true
'float' => boolean false
'numeric' => boolean true
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean false
'false' => boolean true
5 =>
array (size=15)
'value' => int 1
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean false
'int' => boolean true
'float' => boolean false
'numeric' => boolean true
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
6 =>
array (size=15)
'value' => float 0.1
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean false
'int' => boolean false
'float' => boolean true
'numeric' => boolean true
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
7 =>
array (size=15)
'value' => float 1.123
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean false
'int' => boolean false
'float' => boolean true
'numeric' => boolean true
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
8 =>
array (size=15)
'value' => string '' (length=0)
'isset' => boolean true
'null' => boolean false
'empty' => boolean true
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean false
'false' => boolean true
9 =>
array (size=15)
'value' => string '0' (length=1)
'isset' => boolean true
'null' => boolean false
'empty' => boolean true
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean true
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean false
'false' => boolean true
10 =>
array (size=15)
'value' => string '1' (length=1)
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean true
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
11 =>
array (size=15)
'value' => string '10' (length=2)
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean true
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
12 =>
array (size=15)
'value' => string '0.10' (length=4)
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean true
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
13 =>
array (size=15)
'value' => string '1.123' (length=5)
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean true
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
14 =>
array (size=15)
'value' => string '1,234,567' (length=9)
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
15 =>
array (size=15)
'value' => string ' 1' (length=2)
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean true
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
16 =>
array (size=15)
'value' => string '1 ' (length=2)
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
17 =>
array (size=15)
'value' => string ' 1 ' (length=3)
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
18 =>
array (size=15)
'value' => string 'Hello' (length=5)
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean true
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean true
'object' => boolean false
'resource' => boolean false
'true' => boolean true
'false' => boolean false
19 =>
array (size=15)
'value' =>
object(stdClass)[7]
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean false
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean false
'object' => boolean true
'resource' => boolean false
'true' => boolean true
'false' => boolean false
20 =>
array (size=15)
'value' => resource(10, Unknown)
'isset' => boolean true
'null' => boolean false
'empty' => boolean false
'bool' => boolean false
'array' => boolean false
'string' => boolean false
'int' => boolean false
'float' => boolean false
'numeric' => boolean false
'scalar' => boolean false
'object' => boolean false
'resource' => boolean true
'true' => boolean true
'false' => boolean false
@ Mac PHP 5.3.27