Головна PHP Вставка/видалення елементів масиву
Вставка/видалення елементів масиву

Ми вже знаємо декілька операторів, які відповідають за вставку і видалення елементів масиву. Наприклад, оператор [] (порожні квадратні дужки) додає елемент в кінець масиву, привласнюючи йому числовий ключ, а оператор UNSET() видаляє потрібний елемент.

 

array_push

$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);

Ця функція додає до масиву $stack елементи apple, raspberry. Вона привласнює їм числові індекси — точно так, як і це відбувається для стандарних []. Якщо вам потрібно додати всього один елемент, напевно, простіше буде скористатися звичайним привлвласненням:

array_push($arr,1000); // через функцію
$arr[]=100; // теж саме, але коротше

Зверніть увагу, що функція array_push() приймає масив, як стек і додає елементи завжди в його кінець..

 

array_pop

Функція array_pop(), а протилежність array_push(), знімає елемент з "вершини" стека (тобто бере останній елемент списку) і видаляє його. За допомогою цієї функції ми можемо будувати конструкції, що нагадують стек. Якщо масив $arr порожній, функція повертає пусте значення.

 

array_unshift
Функція дуже схожа на array_push(), але додає перераховані елементи не в кінець, а в початок масиву. При цьому порядок проходження $var1, $var2 і т.д. залишається тим же, тобто елементи як би "всовуються" в список зліва. Новим елементам списку, як завжди, призначаються числові індекси, починаючи з 0; при цьому всі ключі старих елементів масиву, які також були числовими, змінюються (найчастіше вони збільшуються на число значень, що вставляються). Функція повертає новий розмір масиву. Ось приклад її застосування:

$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
print_r($queue);

Array
(
[0] => apple
[1] => raspberry
[2] => orange
[3] => banana
)

 

array array_unique
Функція array_unique() повертає масив, складений зі всіх унікальних значень масиву $Arr разом з їх ключами. В результуючий масив поміщаються перші пари ключ=>значення, що зустрілися:

$input=array("a" => "green", "red", "b" => "green", "blue", "red");
$result=array_unique($input);
// Array ( [a] => green [0] => red [1] => blue )

 

array_splice
Ця функція, повертає підмасив $Arr, починаючи з індексу $offset максимальною довжиною $len, але, разом з тим, вона робить і іншу корисну дію. А саме, вона замінює тільки що вказані елементи на те, що знаходиться в масиві $Repl (або просто видаляє, якщо $Repl не вказаний). Параметри $offset і $len, як і у функції substr() можуть бути і незаданимиими, в цьому випадку відлік починається від кінця масиву.

Приведу декілька прикладів:

$input=array("red", "green", "blue", "yellow");

 

array_splice($input,2); // $input===array("red", "green")
array_splice($input,1,-1); // $input===array("red", "yellow")
array_splice($input, -1, 1, array("black", "maroon"));// $input===array("red", "green", "blue", "black", "maroon")
array_splice($input, 1, count($input), "orange"); // $input===array("red", "orange")

 

Додати коментар


Захисний код
Оновити

© 2008-2013 PHPist