PHP масив: асоціативний, багатовимірний
⚡ Розумний підсумок
Масиви в PHP зберігають багато пов'язаних значень всередині однієї змінної, що спрощує групування та обробку пов'язаних даних. У цьому посібнику розглядаються числові, асоціативні та багатовимірні масиви, оператори порівняння масивів та основні функції, такі як count, sort, ksort та asort.

Що таке масив PHP?
Масив PHP — це змінна, яка зберігає більше одного фрагмента пов’язаних даних в одній змінній.
Подумайте про масив як про коробку шоколадних цукерок із прорізами всередині.
Коробка представляє сам масив, а пробіли, що містять шоколадні цукерки, представляють значення, що зберігаються в масиві.
Наведені нижче приклади ілюструють, як це працює.
Числові масиви
Числові масиви використовують числа як ключі доступу.
Ключ доступу - це посилання на слот пам'яті в змінній масиву.
Ключ доступу використовується щоразу, коли ми хочемо прочитати або присвоїти нове значення елементу масиву.
Нижче наведено синтаксис для створення числового масиву в PHP.
Приклад масиву
<?php $variable_name[n] = value; ?>
Or
<?php
$variable_name = array(n => value, ...);
?>
ТУТ,
- «$variable_name…» — це ім’я змінної
- “[n]” – номер індексу доступу до елемента
- «value» — це значення, присвоєне елементу масиву.
Тепер розглянемо приклад числового масиву.
Припустімо, у нас є 5 фільмів, які ми хочемо зберегти у змінних масиву.
Для цього ми можемо використати наведений нижче приклад.
<?php $movie[0] = 'Shaolin Monk'; $movie[1] = 'Drunken Master'; $movie[2] = 'American Ninja'; $movie[3] = 'Once upon a time in China'; $movie[4] = 'Replacement Killers'; ?>
Тут,
Кожному фільму надається індексний номер, який використовується для отримання або зміни його значення. Зверніть увагу на наступний код.
<?php $movie[0]="Shaolin Monk"; $movie[1]="Drunken Master"; $movie[2]="American Ninja"; $movie[3]="Once upon a time in China"; $movie[4]="Replacement Killers"; echo $movie[3]; $movie[3] = " Eastern Condors"; echo $movie[3]; ?>
вихід:
Once upon a time in China Eastern Condors
Як ви можете бачити з наведених вище прикладів, робота з масивами в PHP, коли ви маєте справу з кількома значеннями однакової природи, є дуже легкою та гнучкою.
Крім того, наведені вище змінні масиву також можна створити за допомогою наступного коду.
<?php $movie = array(0 => "Shaolin Monk", 1 => "Drunken Master", 2 => "American Ninja", 3 => "Once upon a time in China", 4 => "Replacement Killers" ); echo $movie[4]; ?>
вихід:
Replacement Killers
Асоціативний масив PHP
Асоціативні масиви відрізняються від числових масивів тим, що асоціативні масиви використовують описові імена для ідентифікаторів ключів.
Нижче наведено синтаксис для створення асоціативного масиву в PHP.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
ТУТ,
- «$variable_name…» — це ім’я змінної
- «['key_name']» – це ключ доступу елемента
- «value» — це значення, присвоєне елементу масиву.
Припустимо, що у нас є група людей, і ми хочемо встановити стать кожної людини напроти її імен.
Ми можемо використати для цього асоціативний масив. Наведений нижче код допоможе нам у цьому.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
ТУТ,
вихід:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Асоціативні масиви також дуже корисні під час отримання даних з бази даних.
Імена полів використовуються як ідентифікаційні ключі.
PHP Багатовимірні масиви
Це масиви, які містять інші вкладені масиви.
Перевага багатовимірних масивів полягає в тому, що вони дозволяють групувати пов’язані дані.
Давайте тепер розглянемо практичний приклад, який реалізує багатовимірний масив PHP.
У таблиці нижче наведено список фільмів за категоріями.
| Назва фільму | Категорія |
|---|---|
| Рожева пантера | Комедія |
| Джон Інгліш | Комедія |
| Міцний горішок | дію |
| Витратні матеріали | дію |
| Володар кілець | Epic |
| Ромео і Джульєтта | Romance |
| Не бачу зла, не чую зла | Комедія |
Наведену вище інформацію можна представити у вигляді багатовимірного масиву. Код нижче показує реалізацію.
<?php $movies = array( "comedy" => array("Pink Panther", "John English", "See no evil hear no evil"), "action" => array("Die Hard", "Expendables"), "epic" => array("The Lord of the rings"), "Romance" => array("Romeo and Juliet") ); print_r($movies); ?>
ТУТ,
вихід:
Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )
Інший спосіб визначення того ж масиву виглядає наступним чином.
<?php $film = array( "comedy" => array( 0 => "Pink Panther", 1 => "John English", 2 => "See no evil hear no evil" ), "action" => array ( 0 => "Die Hard", 1 => "Expendables" ), "epic" => array ( 0 => "The Lord of the rings" ), "Romance" => array ( 0 => "Romeo and Juliet" ) ); echo $film["comedy"][0]; ?>
вихід:
Pink Panther
Примітка: числовий масив movies вкладено в асоціативний масив categories.
PHP масиви: Operaторс
| Operaтор | ІМ'Я | Опис | Як це зробити | Вихід |
|---|---|---|---|---|
| х + у | Union | Поєднує елементи з обох масивів |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Масив ([id] => 1 [value] => 10) |
| x == y | Equal | Порівнює два масиви та повертає значення true, якщо вони рівні |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Правда або 1 |
| x === y | Ідентичний | Порівнює обидва значення і типи даних |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Неправда або 0 |
| x != y, x <> y | Не рівні | Повертає значення true, якщо два масиви не рівні |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Неправда або 0 |
| x !== y | Неідентичний | Повертає значення true, якщо два масиви не ідентичні за значенням або типом |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Правда або 1 |
Функції масиву PHP
Функція підрахунку
Функція count використовується для підрахунку кількості елементів, що містяться в масиві PHP. Код нижче показує її реалізацію.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
вихід:
3
функція is_array
Функція is_array використовується для визначення, чи є змінна масивом чи ні. Розглянемо тепер приклад, який реалізує функцію is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
вихід:
1
сортувати
Ця функція використовується для сортування масивів за їх значеннями.
Якщо значення є буквено-цифровими, вони сортуються в алфавітному порядку.
Якщо значення є числовими, він сортує їх у порядку зростання.
Він видаляє існуючі клавіші доступу та додає нові цифрові клавіші.
Вихідним даними цієї функції є числовий масив.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
вихід:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Ця функція використовується для сортування масиву за допомогою ключа. Наступний приклад ілюструє його використання.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
вихід:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
асортимент
Цей функція використовується для сортування масиву за значеннями, поки keeping ключі. Наступний приклад ілюструє його використання.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
вихід:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Навіщо використовувати масиви?
- Вміст масивів можна розтягнути для зберігання більшої кількості значень.
- Масиви легко допомагають групувати пов'язану інформацію, таку як дані для входу на сервер.
- Масиви допомагають писати чистіший код.



