在使用某些数组时,松散检查会返回一些疯狂的、违反直觉的结果。由于 PHP 对变量类型的宽松性,这是完全正确的行为,但在“现实生活中”几乎毫无用处。
解决方案是使用严格检查选项。
<?php
$array = array(
'egg' => true,
'cheese' => false,
'hair' => 765,
'goblins' => null,
'ogres' => 'no ogres allowed in this array'
);
in_array(null, $array); in_array(false, $array); in_array(765, $array); in_array(763, $array); in_array('egg', $array); in_array('hhh', $array); in_array(array(), $array); in_array(null, $array, true); in_array(false, $array, true); in_array(765, $array, true); in_array(763, $array, true); in_array('egg', $array, true); in_array('hhh', $array, true); in_array(array(), $array, true); ?>