如何继续" For-Loop"如果函数退出

时间:2017-12-27 06:35:43

标签: php codeigniter return exit

如果调用函数execute exit(); 语句,我想继续我的for循环。

注意: 当$ i = 2时,不应处理剩余的代码行;所以,我需要帮助退出我的功能,但不是 for-loop

此外,我有很多条件所以我不能使用if-else。

我已经尝试了 return; 语句,但是返回了;语句函数执行剩下的代码行,这是代码的主要问题! 任何帮助将非常感谢!

例如

 for($i=0;$i<=5;$i++){
   $this->calculate($i);
 }

 function calculate($counter){
 if($counter==2){
  exit(0);
 }
  echo "My remaining code lines";
}

5 个答案:

答案 0 :(得分:2)

更新的答案

发表评论后。我们必须让for循环知道我们不想继续。由于逻辑是分开的,我们可以做类似的事情:

for ($i = 0; $i <= 5; $i++) {
    if ($this->calculate($i) == false) {
        break;
    }
}

function calculate($counter) {
    if ($counter == 2) {
        return false;
    }
    echo "My remaining code lines";
    return true;
}

原始回答

不要退出该功能。它停止了任何进一步的处理。

只需return

function calculate($counter){
 if($counter==2){
  return;
 }

答案 1 :(得分:1)

而不是exit使用return因为exit终止执行,而return只存在当前函数。

而不是if-else,您可以使用swtich-case,如下所示:

for($i=0;$i<=5;$i++){
   if(!$this->calculate($i))
   {
       continue;
   }
 }

function calculate($counter){
    switch($counter){
         case 2:
          return false;
         default:
          echo "My remaining code lines";
         break;
    }
}

编辑:如果方法calculate() return s false,我已更新我的回答以将循环移至下一次迭代。

答案 2 :(得分:0)

使用

return语句。

for(condition){
   return();
}

答案 3 :(得分:0)

只需使用return即可。它将返回调用者,因此您可以继续执行。

for($i=0;$i<=5;$i++){
   $this->calculate($i);
 }

 function calculate($counter){
    if($counter==2){
      return;
    }
    echo "My remaining code lines";
 }

答案 4 :(得分:0)

//使用return()函数.. exit()停止执行...

 function calculate($counter){
 if($counter==2){
  return;
 }
  echo "My remaining code lines";
}
?>