【发布时间】:2015-05-03 12:56:21
【问题描述】:
我通常这样写我的 for 循环:
for ($i=0; $list[$i]; $i++)
但今天我开始收到警告:
注意:未定义的偏移量:5`
该数组有 5 个元素长,所以我知道为什么会得到它,但奇怪的是我以前从未编写过这样的循环出错。即使在这台服务器上(或者我认为)。
我知道如何解决它,通过这样做
$ct = count($list);
for ($i=0; $i < $ct; $i++)
但这不是重点;我想知道为什么会这样。
我以前的服务器是否都关闭了错误报告,而这台服务器开启了它,而我之前从未注意到它?
多年来,我一直在写这样的for 循环,所以这似乎是我会注意到的。它是 PHP 的最新更新吗?
【问题讨论】:
-
我可能猜想所有其他服务器都关闭了错误报告(当您的服务器不在登台时这是正常的)。第二个代码块是您如何正确执行或使用 foreach 循环!
-
你应该改用
foreach。 -
你不应该使用这个。如果
$list[$i]包含布尔值false,即使有更多项目,循环也会停止。 -
为什么人们喜欢做这么难的事情真是太奇怪了。这绝对是数据依赖循环
-
我知道这些缺点,如果应用其中任何一个,我不会使用它。