Робота з масивами PHP
Привіт, сьогодні ми познайомимось із ще одним типом змінних - Array(). Цей тип змінної може містити багато значень навіть різних за типом.
Давайте почнемо, створивши масив-список:
<?php $array = array("key1", "key2", true); print_r($array); ?>
Результатом виконання буде наступне:
Array ( [0] => key1 [1] => key2 [2] => 1 )
З цього видно, що нумерація масивів починається з нуля! Ми створили масив-список ключі якого - "0", "1", "2", а значення - "key1", "key2", "1". Ключі масиву ми не вказали, тому PHP додав їх сам.
Також можна встановлювати свої ключі (асоціативний масив):
<?php $array = array( "login" => "aezakmi", "logged_in" => true ); print_r($array); ?>
Результат:
Array ( [login] => aezakmi [logged_in] => 1 )
Щоб не виводити весь масив через функцію "print_r()", що зазвичай робиться в цілях дебагу(пошуку помилок в коді) потрібно виводити через "echo":
<?php $array = array("name" => "John"); echo $array["name"]; ?>
Результат:
John
Тепер про те, як перебирається масив. Для цього використовуються цикли:
<?php $array = array("key1", 123, "string", true); for ($i = 0; $i < count($array); $i++) { echo $array[$i]."<br>"; } ?>
Результат:
key1 123 string 1
В цьому випадку через цикл "for" був розібраний масив-список, який розбирався за індексами, а як бути з асоціативними масивами? Потрібно використати цикл "foreach":
<?php $array = array( "alert" => "some message", "location" => "USA" ); foreach ($array as $key => $value) { echo $key." - ".$value."<br>"; } ?>
Результат:
alert - some message location - USA
Синтаксис зрозумілий: "$key" - ключ, а "$value" - значення.
Такими способами можна виводити масиви.
Також їх можна поєднувати:
<?php $array1 = array("str1", "str2", 123, 456); $array2 = array( "name" => "Bogdan", "phone" => "Asus Fonepad 7" ); $array = array_merge($array1, $array2); print_r($array); ?>
Результат - поєднаний 1-ий і 2-ий масиви:
Array ( [0] => str1 [1] => str2 [2] => 123 [3] => 456 [name] => Bogdan [phone] => Asus Fonepad 7 )
Тільки авторизовані користувачі можуть додавати коментарі.
Коментарі: