在某些陣列中使用寬鬆檢查會返回一些奇怪且違反直覺的結果。由於 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); ?>