PHP масив: асоціативний, багатовимірний
Що таке масив 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
Примітка: числовий масив фільмів вкладено в асоціативний масив категорій
PHP масиви: Operaторс
Operaтор | ІМ'Я | Опис | Як це зробити | Вихід |
---|---|---|---|---|
х + у | Union | Поєднує елементи з обох масивів |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Масив ([id] => 1 [value] => 10) |
X == y | Equal | Порівнює два масиви, якщо вони рівні, і повертає істину, якщо так. |
<?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 | Не рівні |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Неправда або 0 | |
X !== y | Неідентичний |
<?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 )
асортимент
Цей довідник - функція використовується для сортування масиву за значеннями. Наступний приклад ілюструє його використання.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
вихід:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Навіщо використовувати масиви?
- Вміст масивів можна розтягувати,
- Масиви легко допомагають згрупувати пов’язану інформацію, наприклад дані для входу на сервер
- Масиви допомагають писати чистіший код.
Підсумки
- Масиви — це спеціальні змінні, здатні зберігати кілька значень.
- Масиви є гнучкими, їх можна легко розтягнути, щоб розмістити більше значень
- Числові масиви використовують числа для ключів масиву
- Асоціативний масив PHP використовує описові імена для ключів масиву
- Багатовимірні масиви містять у собі інші масиви.
- Функція count використовується для отримання кількості елементів, які зберігаються в масиві
- Функція is_array використовується для визначення того, чи є змінна дійсним масивом чи ні.
- Інші функції масиву включають sort, ksort, assort тощо.