Цикл for в PHP
Наверное самый простой цикл в PHP, ниже пример написания и подробный разбор.
for($i = 0; $i < 10; $i++) { echo 'Номер итерации $i<br>'; }
Результат выполнения будет такой:
Номер итерации 0 Номер итерации 1 Номер итерации 2 Номер итерации 3 Номер итерации 4 Номер итерации 5 Номер итерации 6 Номер итерации 7 Номер итерации 8 Номер итерации 9
Принцип действия простой, в самом начале объявляется переменная $i и ей присваивается значение 0, на практике оно может быть и другим. В следующей части проверяется условие, в данном случае $i < 10, пока проверка условие возвращает true(истина), выполняется код, который находится в фигурных скобках, затем выполняется третий блок, инкремент — переменная $i увеличивается на единицу и так происходит, пока условие не станет false(ложь).
На самом деле можно вывести массив, не использую цикл foreach, а с помощью цикла for, но для этого потребуется функция count(), чтобы посчитать количество элементов в массиве. Пример:
$testarray = array( 'Первый элемент', 'Второй элемент', 'Третий элемент', 'Четвертый элемент', 'Пятый элемент', 'Шестой элемент', 'Седьмой элемент', 'Восьмой элемент', 'Девятый элемент', 'Десятый элемент', 'Одиннадцатый элемент', 'Двенадцатый элемент', 'Тринадцатый элемент', 'Четырнадцатый элемент', 'Пятнадцатый элемент', ); $countarr = count($testarray); for($i = 0; $i < $countarr; $i++) { echo $testarray[$i].'<br>'; }
Результат выполнения будет таким:
Первый элемент Второй элемент Третий элемент Четвертый элемент Пятый элемент Шестой элемент Седьмой элемент Восьмой элемент Девятый элемент Десятый элемент Одиннадцатый элемент Двенадцатый элемент Тринадцатый элемент Четырнадцатый элемент Пятнадцатый элемент
В данном случае, вместо 10 условие проверяется, пока $i не больше результата функции count(), поэтому, если в массиве $testarray добавятся элементы, то код также останется рабочим.
Следует быть внимательным, чтобы не получилось так, что проверяемое условие всегда истина, тогда цикл будет бесконечный, точнее остановится он конечно, когда закончится время выполнения скрипта, указанное в настройках сервера. Следующее написание цикла с ошибкой, в проверяемой части сравнивается переменная $i сама с собой, естественно это всегда будет возвращать true! Такой цикл будет выполняться бесконечно.
for($i = 0; $i == $i; $i++) { echo 'Номер итерации $i<br>'; }