Использование цикла foreach в PHP

PHP поддерживает множество типов циклов. цикл foreach — один из них. Этот цикл в основном используется для анализа переменных массива и объекта. Когда общее количество элементов массива не определено, лучше использовать цикл foreach, чем другой цикл. Количество итераций этого цикла зависит от количества элементов массива или количества свойств объекта, используемых в цикле для чтения. В этой статье показано, как этот цикл можно использовать для чтения переменных массива и объекта.
Синтаксис:
Цикл foreach можно использовать только для чтения значений массива или обоих ключей и значений массива.
Следующий цикл foreach используется для чтения значений элементов массива. Его можно использовать для чтения как числовых, так и ассоциативных массивов. Значение каждого элемента массива будет храниться в переменной на каждой итерации.
foreach(($array as $value) {
// операторы
}Следующий цикл foreach используется для чтения значений элементов массива. В основном он используется для чтения ассоциативных массивов. На каждой итерации цикла каждый ключ и значение массива будут храниться в двух переменных.
foreach(($array as $key => $element) {
// операторы
}
Пример 1: чтение числового массива
В следующем примере показан способ чтения числового массива с помощью цикла foreach. Создайте файл PHP со следующим скриптом.
В скрипте объявляется числовой массив с именем $num_array из 10 элементов, а для хранения четных чисел из числового массива объявляется пустой массив с именем $new_array. Цикл foreach используется для перебора числового массива, а условие if используется для определения четных чисел из массива $num_array и сохранения всех четных чисел в массиве $new_array. Другой цикл foreach используется для печати значений $num_array.
<?php
// Объявить числовой массив
$num_array = array(12, 90, 15, 6, 32, 38, 75, 57, 60, 78);
// Объявление пустого массива
$new_array = array();
// инициализируем индекс для пустого массива
$index = 0;
echo "Значения массива: <br/>";
/ * Итерируем числовой массив, чтобы найти числа, делящиеся на 5 и сохранить в новом массиве * /
foreach($num_array as $value){
if($value%5 == 0)
{
$new_array[$index]= $value;
$index++;
}
echo $value." ";
}
echo "<br/> <br/> Список чисел, которые делятся на 5: <br/>";
// Распечатать значения массива $new_array
foreach($new_array as $value){
echo $value." ";
}
?>
Вывод:
Вывод появится после запуска сценария с сервера. Выходные данные показывают, что в числовом массиве четыре четных числа.
Пример 2: чтение ассоциативного массива
В следующем примере показан способ чтения ассоциативного массива и сохранения определенных ключей из одного массива в другой с помощью цикла foreach. Здесь ассоциативный массив с именем $members содержит имя члена в качестве ключа и «Present» или « Absent» в качестве значения массива. Пустой массив с именем $present_member используется для хранения имен присутствующих членов. Затем цикл foreach используется для печати значений $present_member.
<?php
// Объявить ассоциативный массив
$members = array('Andrey Ex' => 'Present', 'Alex Master' => 'Absent',
'Maxim Kamerrer' => 'Present');
// Объявить пустой массив
$present_members = array();
// Инициализируем индекс для массива
$index = 0;
foreach ($members as $key => $value) {
if(($value == 'Present')){
$present_members[$index]= $key;
$index ++;
}
}
// Подсчитываем общее количество присутствующих участников
$count = count($present_members));
echo "<b> $count участников. </b> <br/> <br/>";
echo "<b> Участники: </b> <br/>";
foreach(($present_members as $value)){
echo $value."<br />";
}
?>
Вывод:
Вывод появится после запуска сценария с сервера. Ассоциативный массив содержит три текущих значения и два отсутствующих значения. Для этого в выходных данных отображаются имена трех присутствующих членов из массива $members.
Пример 3: чтение свойств объектной переменной
В следующем примере показан способ чтения имен свойств и значений любого объекта. Создайте файл PHP со следующим скриптом.
Класс с именем Customer определен в сценарии, который содержит три общедоступных свойства со значениями. Затем создается переменная $object для доступа к свойствам класса. Переменная объекта может быть проанализирована как ассоциативный массив, используя цикл foreach. Здесь цикл foreach используется для чтения имени свойства и значения свойства объектной переменной $object. Каждое имя свойства и значение объекта $ будут считываться на каждой итерации цикла и печататься в каждой строке.
<?php
// Определите класс с тремя свойствами
class Customer
{
public $name = 'Andrey Ex';
public $email = 'Andrey@mail.ru';
public $phone = '0184423675';
}
// Создаем объект класса
$object = new Customer(());
// Распечатываем свойства объекта с помощью цикла foreach
echo "<h3> Сведения о клиенте: </h3>";
foreach($object as $property => $value)
{
echo " $property = $value <br/>";
}?>
Вывод:
Вывод появится после запуска сценария с сервера. Класс Customer содержит три свойства: имя, адрес электронной почты и телефон. Эти свойства инициализируются значениями внутри класса. На выходе печатаются имена и значения свойств.
Заключение
Различные варианты использования цикла foreach в PHP описаны в этой статьи на нескольких примерах. Также показаны способы чтения переменных массива и объекта с помощью цикла foreach.
Этот цикл лучше использовать, когда записи извлекаются из любой таблицы базы данных с помощью PHP. Этот цикл можно использовать для чтения только значений массива или значений свойств объекта и чтения значений массива с ключами или значений свойств с именами.
Редактор: AndreyEx