В типичных задачах, связанных с массивами, цикл for
избыточен и многословен. Поэтому PHP предлагает альтернативу — цикл foreach
:
<?php
$userNames = ['petya', 'vasya', 'evgeny'];
foreach ($userNames as $name) {
print_r("{$name}\n");
}
foreach
значительно проще for
. В нём отсутствует счётчик, его проверка и изменение. foreach
берёт всю грязную работу целиком на себя. Всё, что надо сделать программисту — назвать переменную для каждого элемента.
У foreach
есть и другой вариант использования. Если нам понадобятся индексы массива, то запись станет такой:
<?php
$userNames = ['petya', 'vasya', 'evgeny'];
foreach ($userNames as $index => $name) {
print_r("{$index}: {$name}\n");
}
Первая переменная осталась исходным массивом, а после as
появилась конструкция $key => $value
, где ключ – это индекс массива, а значение $value
– это значение текущего элемента.
В большинстве реальных задач используется как раз foreach
, но иногда его бывает недостаточно, и требуется ручное управление обходом. В таких задачах можно возвращаться к использованию for
. Некоторые из них связаны с обходом массива, например, когда нужно идти не по каждому элементу, а через один. Иногда нужно обходить массив в обратном порядке. Другие задачи вообще с массивами напрямую не связаны. К последним относятся ситуации, когда нужно перебирать числа в определённом диапазоне. В этом случае нет массива, по которому можно было бы пройтись с помощью foreach
.
Вам ответят команда поддержки Хекслета или другие студенты.
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт