Робота з масивами в php
функцій для роботи з масивами в PHP досить багато, і це не дивно, якщо врахувати, що з масивами при програмуванні доводиться працювати досить часто. І в цій статті ми розберемо основні функції, які створили для роботи з масивами в PHP розробники.
Для початку розберемо найпростішу функцію, яка перевіряє чи знаходиться елемент в масиві. функція називається in_array ():
lt ;?php
$ arr = array("Num","Str","Int") -
if(in_array("Str", $ arr)) echo "Елемент знайдений"-
else echo "Елемент не найден"-
?gt;
Як видно з прикладу, дана функція перевіряє наявність першого параметра серед значень масиву, заданого другим параметром. І повертає true, якщо елемент знайдений, або false, якщо не був знайдений. Особливо просунуті запитають: "А як же бути з такими речами, як 0 і false, адже це різні значення, але PHP їх вважає однаковими? ". Для цього в функції in_array () існує ще третій параметр, необов`язковий, який якщо має значення true, то функція звіряє не тільки значення, а й типи:
lt ;?php
$ arr = array(0,"Str","Int") -
if(in_array(false, $ arr,true)) echo "Елемент знайдений"-
else echo "Елемент не найден"-
?gt;
Ще одна дуже корисна функція - array_unique (), яка приймає масив і повертає масив без дублюються значень:
lt ;?php
$ arr = array(3,5,"Val",3,"Val",7) -
$ arr_uniq = array_unique($ arr) -
print_r($ arr_uniq) -
?gt;
Як можна помітити, запустивши скрипт, в отриманому масиві немає повторюваних значень.
Дуже важливі функції - це функції вилучення частини масиву з вихідного (аналог функції substr (), тільки вона для рядків):
lt ;?php
$ arr = array(12,10,15,"Name","Some",-0.5) -
$ arr_2 = array_slice($ arr,3) -
print_r($ arr_2) -
?gt;
Ця функція приймає два параметри: вихідний масив і номер елемента, з якого має розпочатися новий масив (нагадую, що нумерація починається з нуля). Як видно, новий масив буде від елемента, номер якого заданий в другому параметрі і до кінця вихідного масиву. Також якщо додати третій параметр, то можна задати довжину нового масиву:
lt ;?php
$ arr = array(12,10,15,"Name","Some",-0.5) -
$ arr_2 = array_slice($ arr,3,2) -
print_r($ arr_2) -
?gt;
В результаті, Ви побачите: "Array ([0] = gt; Name [1] = gt; Some)".
Відео: PHP Рівень 1. Урок 3. Цикли і масиви
Тепер перейдемо до останньої групи функцій - функцій сортування масивів. Але для початку нагадую різницю між списками і асоціативними масивами. перелік - це масив, у якого індексами є числа, які впорядковані за зростанням, починаючи з 0. А асоціативний масив - це масив, у якого індексами є, взагалі кажучи, рядки, які називаються ключами. Чому це так важливо при сортуванні? Якщо Ви сортуєте список, то Вам зовсім не важливо, щоб зберігалася зв`язка: "ключ - значення", Так як індекси не служать для ідентифікації значення, а служать лише для звернення до нього. А в асоціативному масиві першорядне значення має саме зв`язка:"ключ-значення", Тому необхідно, щоб при сортуванні вона зберігалася.
Давайте почнемо з простого: сортування списків. Для цього існують функції sort () і rsort (). Перша функція сортує масив по зростанню, а друга по спадаючій:
Відео: php для початківців: Функції для роботи з масивами, урок 33!
lt ;?php
$ arr = array(15,12,"String",40,-2,0,12) -
sort($ arr) -
print_r($ arr) -
echo "
"-
rsort($ arr) -
print_r($ arr) -
?gt;
Думаю, що тут все зрозуміло.
Відео: Урок 32: Корисні функції для роботи з масивами в PHP
Тепер перейдемо до функцій сортування асоціативних масивів: asort () і arsort (). Роблять вони все те ж саме, але зв`язок "ключ-значення"Зберігається:
lt ;?php
$ arr = array("Name"= Gt;"Tommy","Age"= Gt;"34","Level"= Gt;"15") -
asort($ arr) -
print_r($ arr) -
echo "
"-
arsort($ arr) -
print_r($ arr) -
?gt;
Тепер давайте розглянемо функції сортування по ключам асоціативних масивів: ksort () і krsort ():
lt ;?php
$ arr = array("Name"= Gt;"Tommy","Age"= Gt;"34","Level"= Gt;"15") -
ksort($ arr) -
print_r($ arr) -
echo "
"-
krsort($ arr) -
print_r($ arr) -
?gt;
Упевнений, що тут все прозоро. А якщо щось незрозуміло, то запустіть скрипт, і проаналізуйте результат.
І, наостанок, розглянемо функції для користувача сортування: uasort () і uksort (). Обидві функції приймають два параметра: масив і призначену для користувача функцію сортування. Функція сортує масив за значеннями, а функція uksort () сортує масив по ключам. Як приклад розглянемо такий скрипт:
lt ;?php
function cmp($ x, $ y){
if($ x == $ y)return0-
if($ x ==1)return1-
if($ y ==1)return-1-
if($ x gt; $ y)return1-
elsereturn-1-
}
$ arr = array("A"= Gt;1,"C"= Gt;3,"B"= Gt;2) -
uasort($ arr,"Cmp") -
print_r($ arr) -
echo "
"-
uksort($ arr,"Cmp") -
print_r($ arr) -
?gt;
Як бачите, ми написали свої правила сортування, за якими число "1"Завжди більше будь-якого іншого значення. Якщо жодне з чисел не є"1", То тоді порівнюємо за звичайними правилами. Таким чином, PHP сортує наш масив за правилами, описаним в функції порівняння, назва якої ми передали у функціях uasort () і uksort ().
Ось і всі основні функції для різних маніпуляцій з масивами. Зрозуміло, це далеко не все, що зробили для нас розробники, але ці функції дійсно важливі, і на практиці застосовуються регулярно.
- Що таке фільтри в php.
- Нові функції в php 5.5.
- Масиви bash
- Перевірка зайнятості логіна на ajax
- Багаторівневе меню на php і mysql
- Строкові функції в php
- Функції для роботи з регулярними виразами в php
- Створення функцій в php
- Константи в php
- Методи для роботи з масивами в es5.
- Типи змінних в jаvascript
- Об`єкт array в jаvascript
- Умовний оператор в php
- Робота з масивами в html-формі
- Приклад роботи з curl
- Масиви в jаvascript
- Математичні функції в php
- Створення динамічної функції на php
- Hash api - новий підхід до шифрування паролів.
- Функція array_pad в php.
- Створення і перебір масивів в php