Heim  >  Artikel  >  Backend-Entwicklung  >  PHP 之局部变量与全局变量的交错(一)嵌套for循环中的变量

PHP 之局部变量与全局变量的交错(一)嵌套for循环中的变量

WBOY
WBOYOriginal
2016-08-08 09:24:511153Durchsuche

      相信很多从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教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn