各アイテムを通過する必要があるループがあります。したがって、当然、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 構造が最善の解決策です。