kirillbelash93
@kirillbelash93
Сертифицированный сыч

Нужна помощь с вложенными циклами?

Друзья, подскажите в чем загвоздка. Есть массив значений, мне требуется выводить элементы массива пока он не кончится, делаю так пока индексы у нас равны друг другу выводим значения, как только стали не равны, выводим значение что массив кончился и продолжаем отрабатывать внешний цикл. Но дело в то что код выводит только 1 элемент и дальше выводит индексы внешнего цикла. Почему так? Возможно вы подскажите другой вариант решения для проверки что массив кончился и больше не нужно выполнять второй цикл.

$arr = array('Apple', 'Grape', 'Lemon');

for ($i = 0; $i < 10; $i++) {
  for ($j = 0; $j < count($arr); $j++) {
      if ($i == $j) {
            echo $arr[$j].'<br>';
        } else {
            echo 'Массив кончился. Продолжаем внешний цикл <br>';
        }
      break;
  }
}
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Если читать вопрос словами, которые осилил автор, то
Есть массив значений, мне требуется выводить элементы массива пока он не кончится,

$arr = array('Apple', 'Grape', 'Lemon');
foreach($arr as $znatchenie) {
    echo "$znatchenie<br>";
}
echo 'Массив кончился.<br>';


Если пытаться понять бессмысленный код приведенный в вопросе, то наверное так
for ($i = 0; $i < 10; $i++) {
    foreach($arr as $znatchenie) {
        echo "$znatchenie<br>";
    }
    echo 'Массив кончился. Продолжаем внешний цикл <br>';
}

Наверное автору нужно не это, но я не в состоянии понять - что.
Судя по всему, мелленниалы, воспитанные ютубочкой, не умеют не только читать тексты длиннее 15 слов, но и навык излагать мысли письменно безвозвратно утрачивают.

Апдейт.
Благодаря BoShurik, который выпытал из автора, что ему нужно,

for ($i = 0; $i < 10; $i++) {
    echo $arr[$i] ?? 'Массив кончился. Продолжаем внешний цикл';
    echo "<br>";
}

Вопрос, зачем здесь вложенный цикл, сочтем неуместным.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы