PHP масив: асоціативний, багатовимірний

⚡ Розумний підсумок

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

  • 🧰 Що роблять масиви: Масив містить кілька пов'язаних значень в одній змінній, доступ до яких здійснюється за допомогою числових або іменованих ключів, а не за допомогою багатьох окремих змінних.
  • 🔢 Числові масиви: Числові масиви використовують цілочисельні індексні ключі, що починаються з нуля, для зчитування або присвоєння кожного збереженого елемента.
  • 🏷️ Асоціативні масиви: Асоціативні масиви використовують описові рядкові ключі, що ідеально підходить для поєднання імен зі значеннями або мапами.ping поля бази даних.
  • 🧬 Багатовимірний: Багатовимірний масив вкладає масиви всередині масиву, групиping структуровані дані, такі як фільми, організовані за категоріями.
  • 🇧🇷 масив Operaторс: Оператор об'єднання об'єднує масиви, тоді як == перевіряє рівність значень, а === також перевіряє порядок ключів та типи даних.
  • 🔧 Функції масивів: Функції count, is_array, sort, ksort та asort виводять звіти про вміст масиву та перевпорядковують його за значенням або за ключем.
  • 🤖 AI Assist: Інструменти штучного інтелекту можуть перетворювати рядки бази даних на асоціативні масиви та допомагати налагоджувати заплутані багатовимірні структури масивів.

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

Примітка: числовий масив 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 )

Навіщо використовувати масиви?

  • Вміст масивів можна розтягнути для зберігання більшої кількості значень.
  • Масиви легко допомагають групувати пов'язану інформацію, таку як дані для входу на сервер.
  • Масиви допомагають писати чистіший код.

Поширені запитання

Цикл foreach є найпоширенішим способом. Напишіть foreach ($array as $value), щоб прочитати кожне значення, або foreach ($array as $key => $value), щоб прочитати і ключ, і значення кожного елемента масиву.

sort() перевпорядковує значення та переіндексує масив новими числовими ключами, втрачаючи оригінальні ключі. asort() сортує за значенням, але зберігає кожне значення прив'язаним до його оригінального ключа, що важливо для асоціативних масивів.

Використовуйте array_push() або $arr[] = value для додавання, та array_pop() або array_shift() для видалення з кінця або початку. Щоб видалити певний елемент за ключем, використовуйте функцію unset().

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

Так. Вставте вивід print_r або var_dump, і штучний інтелект зможе пояснити вкладеність, показати точний шлях до значення, такого як $film['comedy'][0], та виявити невідповідні ключі або рівні.

Підсумуйте цей пост за допомогою: