我只是注意到,当遇到空字符串时,使用while和array_shift迭代数组的行为与简单的for循环不同.这是一个示例:
循环:
$arr=[1, "",1,""];
while ($elm = array_shift($arr))
{
var_dump($elm);
}
Run Code Online (Sandbox Code Playgroud)
对于循环:
$arr=[1, "",1,""];
for ($i = 0; $i<count($arr); $i++)
{
var_dump($arr[$i]);
}
die();
Run Code Online (Sandbox Code Playgroud)
为什么while退出循环?