В PHP есть простой способ перебрать каждый элемент массива по очереди с помощью Foreach конструкции.
На простом языке это будет звучать примерно так:
"Для каждого элемента в указанном массиве выполнить этот код."
В отличие от цикла While , который будет продолжаться, пока выполняется некоторое условие, цикл foreach будет продолжаться, пока не будут пройдены все элементы массива.
PHP Foreach: Пример
У нас есть массив, в котором хранятся имена людей в нашей компании, а также их возраст.
Мы хотим знать, сколько лет каждому сотруднику, поэтому мы используем цикл по каждому элементу, чтобы распечатать имя каждого и возраст.
$employeeAges;$employeeAges["Lisa"] = "28";$employeeAges["Jack"] = "16";$employeeAges["Ryan"] = "35";$employeeAges["Rachel"] = "46";$employeeAges["Grace"] = "34";foreach( $employeeAges as $key => $value){echo "Name: $key, Age: $value <br />";}
Получаем результат:
Name: Lisa, Age: 28Name: Jack, Age: 16Name: Ryan, Age: 35Name: Rachel, Age: 46Name: Grace, Age: 34
Итак результат нам понятен. Давайте разберемся в синтаксисе конструкции foreach поподробнее.
Cинтаксис конструкции foreach в PHP
Это все работает приблизительно так: "Для каждого элемента ассоциативного массива $employeeAges я хочу обратиться к $key и значению в нем, то есть к $value"
Оператор "=>" представляет связь между ключом и значением.
В нашем примере мы назвали их как ключ — $key и значение — $value.
Ниже в нашем примере мы так и сделаем, и обратите внимание, что результат будет тот же, потому что мы поменяли только имена переменных, которые относятся к ключам и значениям.
$employeeAges;$employeeAges["Lisa"] = "28";$employeeAges["Jack"] = "16";$employeeAges["Ryan"] = "35";$employeeAges["Rachel"] = "46";$employeeAges["Grace"] = "34";foreach( $employeeAges as $name => $age){echo "Name: $name, Age: $age <br />";}
Ну и результат:
Name: Lisa, Age: 28Name: Jack, Age: 16Name: Ryan, Age: 35Name: Rachel, Age: 46Name: Grace, Age: 34
По большому счету синтаксис не сложный, достаточно понять суть.
Комментарии отсутствуют