У меня были проблемы с одним из моих циклов foreach, где ЧАСТЬ цикла завершается всего после одной итерации без вывода или ошибки.
После поиска ответов в Интернете я до сих пор не знаю возможных причин этой проблемы (и код слишком велик, чтобы быть полезным для сообщества...)
Поэтому мой вопрос: "Каковы возможные причины завершения цикла foreach после одной итерации?" (при условии, что требуется больше итераций)
Ответ 1 · Samuel Cook
Есть несколько способов остановить цикл foreach. Вот несколько примеров:
<?php
$range = range(1,10);
// continue;
foreach($range as $r){
if($r!=1){
continue;
}
echo $r.'<br>';
}
// break;
foreach($range as $r){
if($r>1){
break;
}
echo $r.'<br>';
}
// die;
foreach($range as $r){
if($r>1){
die;
}
}
Примечание. continue не выйдет из цикла foreach, но может привести к "пропуску" строк данных.
Ответ 2 · Ajay Nigam
Он работает только с массивами и объектами и выдает ошибку, когда вы пытаетесь использовать его для переменной с другим типом данных или неинициализированной переменной.
Я думаю, что вам следует пройти по этой ссылке http://php.net/manual/en/control-structures.foreach.php для лучшего понимания цикла foreach.