【问题标题】:PHP: Nested for loops with if statement inside not executingPHP:嵌套for循环,其中if语句未执行
【发布时间】:2014-05-14 14:31:25
【问题描述】:

我有以下 PHP 代码,它在运行时会给出“致命错误:超过 30 秒的最大执行时间”消息。如果我在第二个 for 循环中删除“if()”语句,代码运行没有任何问题。我不明白为什么“if()”语句会导致这个错误。

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

【问题讨论】:

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


    【解决方案1】:

    你有一个错字。您正在使用赋值 = 运算符而不是比较 == 运算符:

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

    改成

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

    【讨论】:

      【解决方案2】:

      ($j=$i-1)改成

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

      • = 用于赋值

      希望对您有所帮助。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          你是在赋值,而不是比较。

          用途:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多