如果调用函数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";
}
答案 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";
}
?>