【发布时间】:2015-02-15 09:24:50
【问题描述】:
在 PHP 中,如何确定数组索引的值是否由于索引越界而为假?
例如,人们可能会错误地得出以下结论:$a 和 $b 每个都至少有三个项目,因为两个数组中的第三个项目的比较声称在索引 2 处具有相同的值,当实际上数组$b 中没有索引2。事实上,这两个值都是null。
$a = array(1, false, null, 1, 0);
$b = array(true, 0);
echo (int)($a[0] === $b[0]); // 0
echo (int)($a[1] === $b[1]); // 0
echo (int)($a[2] === $b[2]); // 1 null<declared>===null<index-out-of-bounds>
echo (int)($a[3] === $b[3]); // 0
echo (int)($a[4] === $b[4]); // 0
【问题讨论】:
-
如果在循环中完成(或者我猜也是在外面),我会使用 array_key_exists 检查每个数组中是否存在每个键。