Цикл в обратном порядке (PHP)

Цикл в обратном порядке можно организовать тремя способами. При помощи конструкции for, while и do while.

Например нужно воспроизвести цикл от десяти до одного.

for в обратном порядке

<?php for ($i = 10; $i > 0; $i--) { echo $i . '<br>'; }

while в обратном порядке

<?php $i = 10; while ($i > 0) { echo $i . '<br>'; $i--; }

do while в обратном порядке

<?php $i = 10; do { echo $i . '<br>'; } while (--$i > 0);

Результат

Во всех вариантах результат будет один:

10 9 8 7 6 5 4 3 2 1

Вывод массива в обратном порядке

Вывести массив в обратном порядке, не сортируя его, так же можно используя цикл в обратном направлении.

Например есть массив

Например есть массив $array, значения которого нужно вывести в обратном порядке на экран, используя циклы.

<?php $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

for

<?php for ($i = count($array) - 1; $i >= 0; $i--) { echo $array[$i] . '<br>'; }

while

<?php $i = count($array); while (--$i >= 0) { echo $array[$i] . '<br>'; }

do while

<?php $i = count($array) - 1; do { echo $array[$i] . '<br>'; } while (--$i >= 0);

Цикл, функции prev() и end()

Значения массива можно вывести так же при помощи функций prev() и end().

while и prev

В этом примере понадобятся функции prev(), end() и key().

<?php end($array); while (($i = key($array))) { echo $array[$i] . '<br>'; prev($array); }

do while и prev

Есть два способа вывода массива в обратном порядке используя конструкцию do while и функцию prev(), так же понадобятся функция end(), а в первом варианте key().

<?php // вариант 1 end($array); do { $i = key($array); echo $array[$i] . '<br>'; } while (prev($array)); // вариант 2 $elem = end($array); do { echo $elem . '<br>'; } while (($elem = prev($array)));

Результат

Во всех примерах результат будет одинаковым:

100 90 80 70 60 50 40 30 20 10

Категории

ПрограммированиеPHPМассивыМассивы в PHP

Комментарии