
Здравствуйте, уважаемые читатели!
В любом языке программирования особое внимание уделяется циклам, которые позволяют значительно упростить работу с массивами и большими объемами однотипных данных. Для тех, кто использует при создании сайтов 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 для выполнения работы сразу с несколькими массивами (например, при составлении графиков с указанием даты), которые, в свою очередь, объединяются в общий массив, используемый в конструкции.
Стоит также сказать, что данный цикл не использует оригинальный массив, а работает с его копией, и, следовательно, изменения в элементах цикла не влияют на исходный массив.