Конструкция foreach предоставляет простой способ перебора массивов. foreach работает только с массивами и объектами, и будет генерировать ошибку при попытке использования с переменными других типов или неинициализированными переменными. Существует два вида синтаксиса: foreach (iterable_expression as $value)
statement
foreach (iterable_expression as $key => $value)
statement Первый цикл перебирает массив, задаваемый с помощью iterable_expression. На каждой итерации значение текущего элемента присваивается переменной $value. Второй цикл дополнительно присвоит ключ текущего элемента переменной $key на каждой итерации. Обратите внимание, что foreach не изменяет указатель внутреннего массива, который используется такими функциями, как current() и key(). Возможно настроить итераторы объектов. Для того, чтобы напрямую изменять элементы массива внутри цикла, переменной $value должен предшествовать знак &. В этом случае значение будет присвоено по ссылке.