Как продолжить & quot; For-Loop & quot; если функция выхода

я хочу продолжить цикл for, если вызвана функция execute выход(); заявление.

Замечания:
Оставшиеся строки кода не должны обрабатываться, когда $ i = 2; Итак, главное, мне нужна помощь, чтобы выйти из функции, но не для цикла.

Более того, у меня много условий, поэтому я не могу использовать if-else.

я уже пробовал вернуть; заявление но с возвратом; Функция Statement выполняет оставшиеся строки кода, это главная проблема!
Любая помощь будет высоко оценена!

Например

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

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

-1

Решение

ОБНОВЛЕННЫЙ ОТВЕТ

После вашего комментария. Мы должны сообщить циклу 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;
}
2

Другие решения

Вместо 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() returns false,

1

return заявление используется.

for(condition){
return();
}
0

Просто используйте вернуть вместо. Он вернется к вызывающей стороне и, следовательно, вы можете продолжить выполнение.

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

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

// использовать функцию return () .. exit () остановить выполнение …

 function calculate($counter){
if($counter==2){
return;
}
echo "My remaining code lines";
}
?>
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector