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 масив

Кожному фільму надається номер індексу, який використовується для отримання або зміни його значення. Зверніть увагу на наступний код-

<?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"];
?>

ТУТ,

PHP масив

вихід:

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);
?>

ТУТ,

PHP масив

вихід:

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 тощо.