我有一个循环需要遍历每个项目。所以自然地,foreach 循环似乎是最好的主意。但是,我需要在迭代时向数组中添加一个元素。我尝试了以下没有任何运气。
foreach ($allitems as $item) {
//Do some stuff here
if ($value === true)
$allitems[] = 'New item';
}
我发现 foreach 循环似乎使用了数组的引用副本,因此编辑数组不会在循环中注册。
一种解决方法是使用旧样式的 while 循环,如下所示:
while (list($key, $item) = each($allitems)) {
//Do some stuff here
if ($value === true)
$allitems[] = 'New item';
}
显然,foreach 循环会更好、更高效。可能吗?还是 while 结构是最好的解决方案。