ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

Как скачать и сохранить удаленное изображение с помощью 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. Этот цикл можно использовать для чтения только значений массива или значений свойств объекта и чтения значений массива с ключами или значений свойств с именами.

Exit mobile version