Пропустить итерацию цикла из вызываемой функции в PHP - PullRequest
1 голос
/ 26 августа 2011

У меня есть цикл while, который вызывает функцию, которая проверяет некоторые вещи из базы данных. Как я могу continue; while цикл из этой функции? Простой вызов continue не работает.

Проблема в том, что это плагин для существующего приложения, поэтому, хотя я мог бы поместить свой код в цикл while, мне нужно сохранить код в этой функции, чтобы его можно было легко распространять.

Есть предложения?

Ответы [ 2 ]

1 голос
/ 26 августа 2011

хорошо, что вы можете сделать, это что-то вроде

while(condition){
   ... do your stuff ...
   $continue = shouldContinue();
   if($continue){
     ... do your stuff ...
   }
 }

, где shouldContinue - это функция, которая возвращает true, если вы хотите продолжить, или false в противном случае.Я не уверен, какова твоя цель.Если бы вы предоставили больше информации, вам было бы легче помочь

0 голосов
/ 26 августа 2011

Нет способа сделать это. Я просто написал это:

for($i = 0; $i < 10; $i++){
    // dummy loops
    while(1){ 
        while(1){
            break test($i)+1;
            break;
        }
        // Do all the stuff that would normally be in the for loop
        echo $i;
        break;
    }
}

function test($i){
    if($i == 5)
        return 1;
}

Тогда я понял, что это просто очень уродливая версия ответа @ mkk: http://codepad.org/tzciEeJN

Вы можете использовать return только для выхода из функции и прерывания продолжения в операторах / циклах switch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...