【发布时间】:2018-08-19 03:48:39
【问题描述】:
我刚刚注意到,当遇到空字符串时,使用 while 和 array_shift 迭代数组的行为与简单的 for 循环不同。这是一个示例:
While循环:
$arr=[1, "",1,""];
while ($elm = array_shift($arr))
{
var_dump($elm);
}
for循环:
$arr=[1, "",1,""];
for ($i = 0; $i<count($arr); $i++)
{
var_dump($arr[$i]);
}
die();
为什么while会退出循环?
【问题讨论】:
-
因为表达式的计算结果为 false ?
-
要让while循环继续运行,必须在
while()中提供true值。在第一个数组中,您的第二个值是null,它被视为false或0值。因此,while 循环停止。
标签: php loops for-loop while-loop