Как продолжить неудачный цикл php - PullRequest
0 голосов
/ 20 ноября 2018

как вы продолжаете цикл, если итерация не удалась, но все же хотите, чтобы оставшаяся часть цикла была запущена.

$arr = [1, 2, 3, 4];

foreach($arr as $val) {
    if($val == 2) {
        throw new \Exception('Value = 2');
    }

    try {
        echo $val;
    }
    catch(\Execption $e) {
        echo $e;
    }
}

Как мне это сделать

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Вы можете попробовать что-то вроде этого шаблона, если хотите следовать шаблону.

$arr = [1, 2, 3, 4];

foreach($arr as $a) {
    try {
        if ( $a == 2 ) {
            throw new Exception('Exception');
        }

        echo $a.' ';     
    }
    catch(Exception $e) {
        echo 'Message ';
    }

    echo PHP_EOL;
}

это поможет не прерывать цикл

Результат будет таким:

1 Message 3 4

Надеюсь, это поможет.

0 голосов
/ 20 ноября 2018

Вместо создания исключения вы можете создать журнал

Log::error('Array value = ' . $val);
continue;

Это запишет проблему, но все еще разрешит обработку остальной части массива

Подробнее здесь:

https://laravel.com/docs/5.7/logging

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