像iterrating一個陣列,以及使用該索引變量後,而不是計數():可以重新使用臨時變量嗎?
foreach($arr as $index => $val){
...
}
echo 'number of items: '.$index+1;
?
像iterrating一個陣列,以及使用該索引變量後,而不是計數():可以重新使用臨時變量嗎?
foreach($arr as $index => $val){
...
}
echo 'number of items: '.$index+1;
?
的語言是它明確地確定。
我不會推薦它雖然,因爲在循環之外重用循環特定的值是不常見的,並且您可能會在一段時間後重構循環並在幾行後遺忘相關性時引入錯誤。事實上,在循環之後明確地使用unset($index, $val)
來避免這種問題並不是一個壞主意。如果通過參考循環(foreach ($foo as &$bar)
),則尤其如此。
雖然我個人不會使用它,但您可以這樣做。
如果您以後需要更改某些內容並例如跳過一個條目,該怎麼辦?
foreach($arr as $index => $val){
if ($index > 3) continue;
}
echo 'number of items: '.$index+1; // now this will fail
所以你可以使用它,但我不會做
這也許是一個更好的選擇:
foreach($arr as $index => $val){
if ($index > 3) continue;
}
echo 'number of items: '.count($arr);
您能否給一些更多的解釋,爲什麼你認爲這是*美好* –
它是更好,因爲喜歡你願意,你可以用你的$指數。在PeeHaa的例子中,這可能會失敗,很好的失敗是不對的,索引+ 1是不一樣的像count($ arr) – OskarStark