有沒有可能以某種方式改變由foreach處理的數組?我試過這個腳本動態改變數組在foreach
$iterator = 10;
$cat = array(1 => 'a',2 => 'b',3 => 'c');
foreach ($cat as $k => $c)
{
if ($iterator < 15)
{
$cat[$iterator] = $iterator;
$iterator++;
}
echo $c;
}
但它並沒有改變'foreached'數組。從的foreach輸出是
ABC
但的var_dump從的foreach後陣列是
陣列(6){[1] =>串(1)的 「a」[2 ] => string(1)「b」[3] => string(1)「c」[10] => int(10)[11] => int(11)[12] => int(12)}
這意味着10,11,12被添加到foreach cyclus中,但是foreach沒有迭代它們?有可能這樣做嗎?或者我需要做2forecs cyclus?
試圖自己運行它? http://ideone.com/GATVX4 – zerkms
公頃,真的我注意到,我推後。所以急於獲得積分。 – adamS
修改。我支持我以前對貓的看法 – adamS