首頁 >後端開發 >php教程 >PHP 之局部變數與全域變數的交錯(一)嵌套for迴圈中的變數

PHP 之局部變數與全域變數的交錯(一)嵌套for迴圈中的變數

WBOY
WBOY原創
2016-08-08 09:24:511232瀏覽

      相信許多從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循環,寫了很多程式碼,又要一個循環rrreee

外面一個大的for循環,寫了很多程式碼不想又丟個i,我們在其他語言都是這麼幹的,但在php這樣乾以後,你會發現,程式碼變成死循環了!究其原因是什麼呢?

   原來for語句並不是函數,只是一種語句形式,在php裡面,兩個i都被當作了全局變量,每次運行到完裡面的循環,i都被重新賦值為7,當然永遠都跳不出循環了。

    我的解決方法是盡量將每次for迴圈的自增變數名字區分開,這樣可以極大的避免這種問題。並且盡量使用foreach.

以上就介紹了PHP 之局部變量與全局變量的交錯(一)嵌套for循環中的變量,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

🎜 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn