如果函数退出,如何继续 "For-Loop"
How to continue "For-Loop" if function exit
如果调用函数执行 exit(); 语句,我想继续我的 for 循环。
注意:
当 $i=2 时,不应处理剩余的代码行;所以,我需要的主要帮助是退出我的功能,而不是 for-loop.
另外,我有很多条件,所以我不能使用if-else。
我已经尝试过 return; 语句但是使用 return;语句函数执行剩余的代码行,这是主要问题!。
任何帮助将不胜感激!
例如
for($i=0;$i<=5;$i++){
$this->calculate($i);
}
function calculate($counter){
if($counter==2){
exit(0);
}
echo "My remaining code lines";
}
更新的答案
在您发表评论后。我们必须让 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;
}
return
使用语句。
for(condition){
return();
}
而不是 exit
使用 return
因为 exit
终止执行,而 return
只存在当前函数。
您可以使用 swtich-case
而不是 if-else
,像这样:
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
,我已经更新了我的答案以将循环移动到下一次迭代。 =21=]
只需使用 return 即可。它会 return 给调用者,因此你可以继续执行。
for($i=0;$i<=5;$i++){
$this->calculate($i);
}
function calculate($counter){
if($counter==2){
return;
}
echo "My remaining code lines";
}
// 使用 return() 函数 .. exit() 停止执行 ...
function calculate($counter){
if($counter==2){
return;
}
echo "My remaining code lines";
}
?>
如果调用函数执行 exit(); 语句,我想继续我的 for 循环。
注意: 当 $i=2 时,不应处理剩余的代码行;所以,我需要的主要帮助是退出我的功能,而不是 for-loop.
另外,我有很多条件,所以我不能使用if-else。
我已经尝试过 return; 语句但是使用 return;语句函数执行剩余的代码行,这是主要问题!。 任何帮助将不胜感激!
例如
for($i=0;$i<=5;$i++){
$this->calculate($i);
}
function calculate($counter){
if($counter==2){
exit(0);
}
echo "My remaining code lines";
}
更新的答案
在您发表评论后。我们必须让 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;
}
return
使用语句。
for(condition){
return();
}
而不是 exit
使用 return
因为 exit
终止执行,而 return
只存在当前函数。
您可以使用 swtich-case
而不是 if-else
,像这样:
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
,我已经更新了我的答案以将循环移动到下一次迭代。 =21=]
只需使用 return 即可。它会 return 给调用者,因此你可以继续执行。
for($i=0;$i<=5;$i++){
$this->calculate($i);
}
function calculate($counter){
if($counter==2){
return;
}
echo "My remaining code lines";
}
// 使用 return() 函数 .. exit() 停止执行 ...
function calculate($counter){
if($counter==2){
return;
}
echo "My remaining code lines";
}
?>