Деструктуризація масивів (Array Destructuring) — це процес, при якому значення масиву безпосередньо присвоюються окремим змінним. Це робить код простішим та зрозумілішим.
Основний синтаксис
Для деструктуризації масивів використовуються квадратні дужки []
, щоб присвоїти елементи масиву змінним.
Приклад:
$array = [1, 2, 3];
// Деструктуризація масиву
[$a, $b, $c] = $array;
echo $a; // Виведе: 1
echo $b; // Виведе: 2
echo $c; // Виведе: 3
Пропуск елементів
Ви можете пропускати елементи в масиві, пропускаючи змінні в деструктуризації.
Приклад:
$array = [1, 2, 3];
// Пропускаємо другий елемент
[$a, , $c] = $array;
echo $a; // Виведе: 1
echo $c; // Виведе: 3
Деструктуризація асоціативних масивів
Для асоціативних масивів можна використовувати ключі для вилучення конкретних значень.
Приклад:
$user = [
'name' => 'John',
'age' => 25,
'email' => '[email protected]'
];
// Деструктуризація асоціативного масиву
['name' => $name, 'email' => $email] = $user;
echo $name; // Виведе: John
echo $email; // Виведе: [email protected]
Деструктуризація вкладених масивів
Ви також можете деструктуризувати вкладені масиви.
Приклад:
$data = [
[1, 2],
[3, 4]
];
// Деструктуризація вкладених масивів
[[$a, $b], [$c, $d]] = $data;
echo $a; // Виведе: 1
echo $b; // Виведе: 2
echo $c; // Виведе: 3
echo $d; // Виведе: 4
Обмін значеннями змінних
Деструктуризацію масивів можна використовувати для обміну значеннями двох змінних без необхідності в тимчасовій змінній.
Приклад:
$a = 5;
$b = 10; // Обмін значеннями
[$a, $b] = [$b, $a];
echo $a; // Виведе: 10
echo $b; // Виведе: 5
Перебір
101, 'name' => 'Laptop', 'price' => 999.99],
['id' => 102, 'name' => 'Phone', 'price' => 499.99],
];
// Перебір кожного продукту за допомогою деструктуризації масиву
foreach ($products as ['id' => $id, 'name' => $name, 'price' => $price]) {
// Виведення деталей продукту
echo "ID продукту: $id, Назва: $name, Ціна: $price\n";
}
/*
Виведення:
ID продукту: 101, Назва: Laptop, Ціна: 999.99
ID продукту: 102, Назва: Phone, Ціна: 499.99
*/
Практичне використання
Деструктуризація масивів особливо корисна при роботі з функціями, які повертають масиви, такими як parse_url()
, explode()
або результати запитів до бази даних. Використовуючи деструктуризацію масивів, ви можете безпосередньо присвоювати конкретні елементи або ключі з повернутого масиву змінним, що робить код більш читабельним і лаконічним.
Зверніть увагу, що ви повинні точно визначити імена ключів, які повертаються цими методами, оскільки деструктуризація масивів залежить від співпадіння ключів або індексів у масиві.
Приклад:
$path,
'query' => $query,
] = parse_url($url);
echo "Шлях: $path\n"; // Виведе: Шлях: /products
echo "Запит: $query\n"; // Виведе: Запит: category=electronics&page=2
Перекладено з: [Array Destructuring in PHP](https://prince-noman.medium.com/array-destructuring-in-php-194ea136cdc4)