Робота з масивами в php

Робота з масивами в 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
Робота з каталогами в phpРобота з каталогами в php
Що таке фільтри в php.Що таке фільтри в php.
Створення динамічної функції на phpСтворення динамічної функції на php
Умовний оператор в phpУмовний оператор в php
Функція array_pad в php.Функція array_pad в php.
Функції для роботи з регулярними виразами в phpФункції для роботи з регулярними виразами в php
Математичні функції в phpМатематичні функції в php
Масиви bashМасиви bash
Hash api - новий підхід до шифрування паролів.Hash api - новий підхід до шифрування паролів.
» » Робота з масивами в php