【发布时间】:2016-08-29 14:27:09
【问题描述】:
我试图弄清楚为什么我正在编写的这个 for 循环的未定义偏移量为 1。我有一个具有特定键值对的数组 ($facts),我试图查看在每次迭代中 $i 是否与数组中的一个键匹配。如果键 isset 并且在数组中,我需要显示该键的值。
for ($i = 1; $i <= 100; $i++) {
if (isset($i) && in_array($i, $facts[$i])) {
echo $facts[$i];
}
echo $i;
}
更新:使用函数 isset 测试增加的值是否等于 $facts 数组中的键之一。如果有匹配的键,则在数字后显示值。
【问题讨论】:
-
也许
isset($facts[$i])而不是简单的isset($i)...$i肯定是设置的,因为这是在for循环中定义和递增的值 -
...和
in_array($i, $facts[$i])将检查该整数是否作为$facts[$i]中的值存在(这可能会失败,因为$facts[$i]可能不是数组,无论如何)。
标签: php