4.4. Цикл foreach

Спеціальний цикл для масивів  foreach записується так:

1
2
3
4
5
6
7
8
9
10
11
<?php
$data['name'] = "Mike";
$data['login'] = "root";
$data['password'] = "12345";
$data['age'] = 35;
$data[10] = true;
// цикл for тут не спрацює
foreach($data as $k=>$v){
    echo "$k => $v"."<br>";
}
?>

Отже, в круглих дужках першим параметром ми вказуємо сам масив, який нам потрібно вивести. Далі ми пишемо ключове слово «as», потім вказуємо дві змінні, розділені ось такий стрілкою =>. Зверніть увагу, що означають ці змінні: в першу змінну у нас записується ключ масиву, тобто те, що знаходиться в квадратних дужках масиву - name, login, password, age, 10, а в другу змінну записується значення масиву, тобто це будуть значення Mike, root, 12345, 35, true.

Одну з цих змінних можна опустити, тоді, в цьому випадку у нас виведеться або тільки ключі масиву, або тільки значення. Назва змінних ми можемо придумувати самі.

1
2
3
4
5
<?php
foreach($data as $v){
    echo $v."<br>";// тільки значення масиву
}
?>

Стрілка, яка вказується при виведенні (=>) echo "$ k => $ v», теж не обов'язкова. Це просто роздільник ключа від значення і ви вправі придумати самі будь роздільник, або просто поставити пробіл.

Щоб уникнути помилок з типом, потрібно функцією is_array():

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$data['name'] = "Mike";
$data['login'] = "root";
$data['password'] = "12345";
$data['age'] = 35;
$data[10] = true;
if(is_array($data)){
    foreach($data as $k=>$v){
        echo "$k => $v"."<br>";
    }
}else{
    echo "Переменная data не массив!!!";
}
?>