Цикл PHP «foreach»

Цикл PHP «foreach»

Жилой массив

Здравствуйте, уважаемые читатели!

В любом языке программирования особое внимание уделяется циклам, которые позволяют значительно упростить работу с массивами и большими объемами однотипных данных. Для тех, кто использует при создании сайтов PHP, существует три типа (конструкции) для работы с массивами числовой и текстовой информации, основным и наиболее удобным из которых, является оператор «foreach».

Типы конструкций foreach

Стоит сразу сказать, что цикл PHP foreach работает только с двумя типами переменных: массивами и объектами.

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

Вариант 1

foreach(array_expression as $value)statement
// foreach (массив as $значение) оператор цикла;

Данная конструкция позволяет осуществлять действия с массивом при использовании «array_expression» (задания массива). При этом, на каждом этапе цикла текущий элемент представляется переменной $value, а к указателю массива добавляется единица, что обеспечивает на следующем этапе вывод нового значения.

Пример. Зададим массив данных, дав ему имя «NM»:

$NM = array (
"Site" => "www.nikmurashkin.ru",
"Username" => "Admin",
"Password" => "123456"
);

Теперь создадим конструкцию foreach первого типа:

foreach ($NM as $value) {
echo $value.", ";
}

При выводе результата мы получим следующую информацию:

www.nikmurashkin.ru, Admin, 123456

Вариант 2

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

foreach (array_expression as $key => $value) statement
// foreach(массив as $ключ=>$значение) оператор цикла;

В этом случае в синтаксис включается параметр «$key», заранее указанный в нашем массиве.
Итак, согласно примеру, форма написания будет выглядеть так:

foreach ($NM as $value) { echo $key.": ".$value." ";}

А собственно, результат работы получит следующую форму:

Site: www.nikmurashkin.ru
Username: Admin
Password: 123456

Помимо этого, никто не запрещает использовать foreach для выполнения работы сразу с несколькими массивами (например, при составлении графиков с указанием даты), которые, в свою очередь, объединяются в общий массив, используемый в конструкции.

Стоит также сказать, что данный цикл не использует оригинальный массив, а работает с его копией, и, следовательно, изменения в элементах цикла не влияют на исходный массив.

Дискуссия по теме