Цикл foreach
Цикл более продвинутый чем for
, применяется для перебора объектов в том числе вложенных:
<?
$fruits = array("Яблоко", "Апельсин", "Слива");
foreach ($fruits as $key => $value){
echo $key; // номера элементов
echo $value; // выведит значение массива
}
<?php
$fruits = array("1" => "Яблоко", "2" => "Апельсин", "3" => "Слива", "4" => array("5" => "Нектарин", "6" => "Виноград", "7" => "Киви"));
foreach ($fruits as $key => $value){
if (is_array($value)) {
foreach ($value as $valu) {
echo $valu; // выведит значение вложенного массива
}
}
}
<?
$fruits = array("1" => "Яблоко", "2" => "Апельсин", "3" => "Слива", "4" => array("5" => "Нектарин", "6" => "Виноград", "7" => "Киви"));
foreach ($fruits[4] as $value){
echo $value; // выведит значение вложенного массива
}
В цикле foreach
из массива последовательно извлекаются все элементы, и их значение помещается в переменную, указанную после ключевого слова as
. В данном случае в переменную $element
по очереди помещаются все четыре значения из массива $users
. Когда будет извлечен последний элемент из массива, цикл завершается:
<?php
$users = [1 => "Tom", 4 => "Sam", 5 => "Bob", 21 => "Alice"];
$num = count($users);
foreach($users as $element){
echo "$element<br/>";
}
Tom
Sam
Bob
Alice
Цикл foreach
позволяет извлекать не только значения, но и ключи элементов:
<?
$users = [1 => "Tom", 4 => "Sam", 5 => "Bob", 21 => "Alice"];
$num = count($users);
foreach($users as $key => $value){
echo "$key - $value<br/>";
}
Здесь при переборе элементов цикла в переменную $key
будет передаваться ключ элемента, а в переменную $value
- его значение.
1 - Tom
4 - Sam
5 - Bob
21 - Alice