相信許多從c++/java/c#等過來的同學,可能會犯這樣的錯誤:
<?php for($i=0;$i<9;$i++) { #some code #many many code!... for($i=0;$i<8;$i++) { #some my ugly code } } ?>
外面一個大的for循環,寫了很多程式碼不想又丟個i,我們在其他語言都是這麼幹的,但在php這樣乾以後,你會發現,程式碼變成死循環了!究其原因是什麼呢?
原來for語句並不是函數,只是一種語句形式,在php裡面,兩個i都被當作了全局變量,每次運行到完裡面的循環,i都被重新賦值為7,當然永遠都跳不出循環了。我的解決方法是盡量將每次for迴圈的自增變數名字區分開,這樣可以極大的避免這種問題。並且盡量使用foreach.
以上就介紹了PHP 之局部變量與全局變量的交錯(一)嵌套for循環中的變量,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。
🎜 🎜