
- •Фукції для роботи з масивами і операції над масивами Функції для роботи з масивами
- •Функція list()
- •Функція array()
- •Операції над масивами Сортування масивів
- •Сортування масиву за значеннями з допомогою функцій asort() і arsort():
- •Сортування по ключам за допомогою функцій ksort() і krsort():
- •Сортування по ключам за допомогою функції uksort():
- •Сортування за значеннями за допомогою функції uasort()
- •Перевертання масиву за допомогою функції array_reverce()
- •Сортування списку за допомогою функцій sort() і rsort()
- •Перемішування списку за допомогою функції shuffle()
- •Операції з ключами і значеннями масиву
- •Злиття масивів
- •Функція array_merge()
- •Отримання частини масиву
- •Вставка та видалення елементів масивів
- •Змінні та масиви
- •Створення списку - діапазону чисел
- •Лічильник елементів масиву
- •Видалення масиву і його елементів
- •Перетворення в масив (тип array)
- •Порівняння масивів
- •Оператори, що працюють з масивами:
- •Деякі корисні практичні приклади по роботі з масивами
Змінні та масиви
<?php
compact(mixed $vn1 [, mixed $vn2, …])
?>
Функція compact() упаковує в масив змінні з поточного контексту (глобального чи контексту функції), задані своїми іменами в $vn1, $vn2 і т.д. При цьому в масиві утворюються пари з ключами, рівними вмісту $vnN, і значеннями відповідних змінних. Ось приклад використання цієї функції:
<?php$a="Test string";
$b="Some text";
$A=compact("a","b");
// Тепер $A === array ("a" => "Test string", "b" => "Some text")
?>
Чому ж тоді параметри функції позначені як mixed? Справа в тому, що вони можуть бути не тільки рядками, але і списками рядків. У цьому випадку функція послідовно перебирає всі елементи цього списку, і упаковує ті змінні з поточного контексту, імена яких вона зустріла. Більше того - ці списки можуть, у свою чергу, також містити списки рядків, і т.д. Правда, останнє використовується порівняно рідко, але все-таки от приклад:
<?php$a="Test";
$b="Text";
$c="CCC";
$d="DDD";
$Lst=array("b",array("c","d"));
$A=compact("a",$Lst);
// Тепер $A === array ("a" => "Test", "b" => "Text", "c" => "CCC", "d" => "DDD")
extract(array $Arr [, int $type] [, string $prefix])
?>
Функція extract() виконує дії, прямо протилежні compact(). Тобто, вона отримує в параметрах масив $Arr і перетворює кожну його пару ключ => значення в змінну поточного контексту.
Створення списку - діапазону чисел
<?php
range(int $low, int $high)
?>
Ця функція дуже проста. Вона створює список, заповнений цілими числами від $low до $high включно.
Лічильник елементів масиву
Для підрахунку елементів масиву призначена функція count(). Приклад використання функції count():
<?php
$arr[] =5;
$arr[] =4;
$arr[] =8;
$arr[] =3;
$arr[] =8;
echo "<h2> Кількість елементів масиву:".count($arr)."</h2>";
// Виводить: Кількість елементів масиву: 5
?>
Видалення масиву і його елементів
Якщо ви хочете видалити масив цілком, скористайтеся функцією unset(). Якщо ви хочете видалити пару ключ/значення, ви також можете використовувати функцію unset(). Наведемо конкретні приклади:
<?php
$arr = array(5 => 1, 12 => 2);
$arr[] = 56; // У цьому місці скрипта це
// Еквівалентно $arr [13] = 56;
$arr["x"] = 42; // Це додає до масиву новий
// Елемент з ключем "x"
unset ($arr[5]); // Це видаляє елемент з масиву
unset ($arr); // Це видаляє масив повністю
?>
Перетворення в масив (тип array)
Для будь-якого з типів: integer, float, string, boolean і resource, якщо ви перетворите значення в масив, ви отримаєте масив з одним елементом (з індексом 0), що є скалярним значенням, з якого ви почали. Якщо ви перетворите в масив об'єкт (object), ви отримаєте в якості елементів масиву властивості (змінні-члени) цього об'єкту. Ключами будуть імена змінних-членів. Якщо ви перетворите в масив значення NULL, ви отримаєте порожній масив.
Порівняння масивів
Масиви можна порівнювати за допомогою функції array_diff() і операторів масивів:
Оператори, що працюють з масивами:
Приклад |
Назва |
Результат |
$a + $b |
Об'єднання |
Об'єднання масиву $a і масиву $b. |
$a == $b |
Дорівнює |
TRUE у випадку, якщо $a та $b містять одні й ті ж елементи. |
$a === $b |
Тотожньо дорівнює |
TRUE у випадку, якщо $a та $b містять одні й ті ж елементи в тому ж самому порядку. |
$a != $b |
Не дорівнює |
TRUE якщо масив $a не дорівнює масиву $b. |
$a <> $b |
Не дорівнює |
TRUE якщо масив $a не дорівнює масиву $b. |
$a !== $b |
Тотожньо не дорівнює |
TRUE якщо масив $a не дорівнює тотожньо масиву $b. |
Приклад порівняння масивів:
<?php
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>