Використання масивів у php
Основне призначення масивів в PHP - організація груп пов'язаних значень. Кожен елемент масиву має індекс (ключ) і значення. Індекс елемента масиву вказується в квадратних дужках після імені масиву. Для того, щоб звернутися до п'ятого елементу масиву $ array1. треба написати:
Пам'ятайте, що за замовчуванням масив починається не з першого елемента, а з нульового.
Індекс може бути як числом, так і текстовим рядком. Масив із строковими індексами називають асоціативним. а самі індекси - іменами елементів. Наприклад, ціни на товари зберігаються в асоціативному масиві $ prices. індексами якого є найменування товарів. Щоб отримати значення ціни на конкретний товар, треба написати:
Значення елемента масиву може мати будь-який тип. Можлива організація багатовимірних масивів, так як елемент масиву може в свою чергу бути масивом. Приклади звернень до елементів багатовимірних масивів:
створення масиву
Масив можна створити за допомогою функції array (). параметри якої і складають масив. Параметри можуть задаватися парами "ключ => значення". Якщо при створенні масиву ключ не вказується, то індекс визначається положенням елемента в масиві (починаючи з 0). наприклад:
Масиви можна створити і іншим способом - безпосередньо. наприклад:
Індекси елементів неассоціатівное масиву можна не вказувати. PHP автоматично вирахує їх. Якщо ж вказати індекси таким чином: то в масиві буде два елементи, причому останній з індексом 5. Елементи 1 - 4 НЕ инициализируются.
Можна створити масив за допомогою функції array (). а потім додати до нього новий елемент:
Підрахунок кількості елементів
Кількість елементів в масиві можна визначити за допомогою функцій count () або sizeof ().
Результат прикладу 1:
Розмір масиву $ фрукти дорівнює 4 Останній елемент масиву $ фрукти - персик
Для доступу до останнього елемента треба відняти 1 з розміру масиву, так як індексація масиву починається з нуля. Для виведення зарезервованого символу "$" перед знаком долара варто символ зворотної косої межі "".
Частоту входження елементів в масив можна визначити за допомогою функції array_count_values (). Ця функція повертає масив, в якому ключами є елементи досліджуваного масиву, а значеннями - частоти їх входження в досліджуваний масив.
Результат прикладу 2:
Array ([яблуко] => 1 [груша] => 2 [зливу] => 1 [персик] => 1)
Функція print_r () відображає ключі і значення масиву, вказаного в аргументі.
Результат прикладу 3:
яблуко груша слива персик груша
Результат прикладу 4:
помідори коштують 15 руб. огірки коштують 12 руб.
Результат прикладу 5:
Іванов: зростання = 174 вага = 68 Петров: зростання = 181 вага = 90 Сидоров: зростання = 166 вага = 73
print_r - Виведення всіх еллементов масиву. Зручна функція для налагодження.
Array ([a] => apple [b] => banana [c] => Array ([0] => x [1] => y [2] => z))
управління масивами
Результат прикладу 6:
1 + 2: Array ([0] => 1 [Катя] => мила [1] => 2 [Женя] => дурна [2] => 3 [3] => 4 [4] => 5) 2 + 1: Array ([0] => 4 [Женя] => красива [1] => 5 [Катя] => розумна [2] => 1 [3] => 2 [4] => 3)
Результат прикладу 7:
У вазі лежали: яблуко груша слива персик Першим з'їли яблуко У вазі залишилися: груша слива персик
Результат прикладу 8:
У вазі лежали: яблуко груша слива персик З'їли персик У вазі залишилися: яблуко груша слива
Результат прикладу 9:
Масив $ a: 1 2 3 Масив $ a після додавання: 1 2 3 4 5 Його довжина = 5
Майте на увазі, що якщо в якості другого аргументу функції array_push () передати масив, то цей масив буде додано як елемент, тобто буде створено двовимірний масив.
Результат прикладу 10:
Масив $ a: 1 2 3 Масив $ a після додавання 4 5 1 2 3 Його довжина = 5
Має три параметра: сам масив, зсув і довжину фрагмента. При позитивному зміщенні відлік виконується від початку масиву, при негативному - від кінця. При позитивній довжині результуючий фрагмент буде містити заданий число елементів. При негативній довжині останнім елементом фрагмента стане той, який знаходиться на вказаній відстані від кінця масиву. Якщо параметр опущений, то фрагмент буде містити всі елементи від початкового зсуву і до кінця масиву.
Результат прикладу 11:
$ A: a b c d e f array_slice ($ a, 2): c d e f array_slice ($ a, 2, -1): c d e array_slice ($ a, -2, 1): e array_slice ($ a, 0, 3): a b c
сортування
Сортувати можна як прості, так і асоціативні масиви. Для сортування масивів в PHP існують певні функції:- sort () - сортує масив у алфавітному порядку, якщо хоча б один з його елементів є рядком, і в числовому порядку, якщо всі його елементи - числа.
- rsort () - працює як sort (). але в зворотному порядку.
- asort () - сортує асоціативний масив; працює як sort (). але зберігає імена елементів.
- arsort () - працює як asort (). але в зворотному порядку.
- ksort () - сортує асоціативний масив по іменах елементів.
- krsort () - працює як ksort (). але в зворотному порядку.
Результат прикладу 12:
$ A: перший = 6 другий = 2 третій = 1 asort ($ a): третій = 1 другий = 2 перший = 6 ksort ($ a): в торою = 2 п ервий = 6 т ретій = 1
Пошук елемента
Для перевірки наявності елемента в масиві існують функції:- in_array () - якщо елемент знайдений, повертає true. інакше - false.
- array_search () - якщо елемент знайдений, повертає його ключ, інакше - false.
Результат прикладу 13:
2 знайшли! ключ знайденого елемента - другий
Використання ітератора для обходу багатовимірного масиву
Результат прикладу 14:
0: sitepoint 1: phpmaster 0: buildmobile 1: rubysource 0: designfestival 1: cloudspring 3: not an array