PHP предоставляет оператор foreach, который позволяет последовательно перебирать элементы массива, как индексированного, так и ассоциативного.
Оператор foreach проходит по всем элементам массива по очереди: начиная с первого и заканчивая последним. При этом вам не требуется заранее знать количество элементов в массиве.
Ниже приведена схема, иллюстрирующая работу конструкции foreach.

PHP foreach с индексированными массивами

Для перебора всех элементов индексированного массива используется следующий синтаксис:
Когда PHP встречает конструкцию foreach, он присваивает переменной, указанной после ключевого слова as (в данном случае $элемент), значение проходимого элемента массива.
На каждой итерации переменной $элемент присваивается следующий элемент массива. Как только достигнут последний элемент, цикл завершается.
Пример использования foreach для вывода элементов массива $colors:
Результат выполнения:

PHP foreach с ассоциативным массивом

Для перебора элементов ассоциативного массива используется следующий синтаксис:
При встрече оператора foreach PHP:
  • присваивает ключ элемента переменной $ключ;
  • присваивает значение элемента переменной $значение.
На каждой итерации переменным, указанным после as, присваиваются ключ и значение следующего элемента. Как только достигнут последний элемент, цикл завершается.
Пример использования foreach для перебора элементов массива $capitals:
Результат выполнения:

Краткое резюме

  • Используйте foreach($имя_массива as $элемент) для перебора элементов индексированного массива.
  • Используйте foreach($имя_массива as $ключ => $значение) для перебора элементов ассоциативного массива.