PHP:嵌套for循环,if语句内部不执行

时间:2014-04-03 01:26:47

标签: php if-statement for-loop nested-loops execution-time

我有以下PHP代码,它会产生"致命错误:超过30秒的最大执行时间"消息运行时。如果我删除" if()"第二个for循环内的语句代码运行没有任何问题。我无法弄清楚为什么" if()"声明会导致此错误。

    for ($i=1;$i<=$nParam;$i++){
        for($j=0;$j<=$nParam-1;$j++){
           if ($j=$i-1){
                //do something
           }    
        }
    }

4 个答案:

答案 0 :(得分:2)

您正在分配一个值,而不是比较。

使用:

if ($j === $i-1){

答案 1 :(得分:1)

你有一个错字。您使用的是作业=运算符,而不是比较==运算符:

if ($j=$i-1){ // <-- HERE

将其更改为

if ($j==$i-1){

答案 2 :(得分:1)

您需要使用==作为if语句。你现在拥有它的方式是不断将$j的值重置为0,这使它永远循环。

答案 3 :(得分:1)

($j=$i-1)更改为

  if ($j == $i-1){
        //do something
   }   
  • ==用于比较

  • =用于作业

希望这有帮助。