Работа с массивами : Вставка/удаление
элементов
array_pad
Добавляет в массив несколько элементов.
Синтаксис :
array array_pad(array input, int pad_size,
mixed pad_value)
Функция array_pad() возвращает копию
массива input, в который были
добавлены элементы с значениями pad_value,
так, что число элементов в получившемся
массиве будет равно pad_size.
Если pad_size>0, то элементы будут
добавлены справа, а если <0 - то слева.
В случае, если значение pad_sizeменьше
элементов в исходном массиве input,
то никакого добавления не произойдет, и
функция вернет исходный массив input.
$arr = array(12, 10, 4);
$result = array_pad($arr, 5, 0);
// $result = array(12, 10, 4, 0, 0);
$result = array_pad($arr, -7, -1);
// $result = array(-1, -1, -1, -1, 12, 10, 4)
$result = array_pad($arr, 2, "noop");
// не добавит
array_pop
Извлекает и удаляет последние элементы
массива.
Синтаксис :
mixed array_pop(array arr);
Функция array_pop() снимает элемент с
"вершины" стека (то есть берет последний
элемент списка) и возвращает его, удалив
после этого его из arr. С помощью
этой функции мы можем строить конструкции,
напоминающие стек. Если массив arr
был пуст, функция возвращает пустую строку.
$stack = array("orange", "apple", "raspberry");
$fruits = array_pop($stack);
// $fruit = "raspberry"
// $stack = array("orange", "apple")
array_push
Добавляет элементы в конец массива.
Синтаксис :
int array_push(array arr, mixed var1 [,
mixed var2, ..])
Эта функция добавляет к массиву arr
элементы var1,var2 и т.д. Она
присваивает им числовые индексы - точно так
же, как это происходит для стандартных [].
Если вам нужно добавить всего один элемент,
наверное, проще будет воспользоваться этим
оператором:
array_push($Arr,1000); // вызываем функцию
$Arr[]=100; // то же самое, но короче
Обратите внимание, что функция array_push()
воспринимает массив, как стек, и добавляет
элементы всегда в его конец.
array_shift
Извлекает и удаляет первый элемент массива.
Синтаксис :
mixed array_shift(array arr)
Эта функция извлекает первый элемент массива
arr и возвращает его. Она сильно
напоминает array_pop(), но только
получает начальный, а не конечный элемент, а
также производит довольно сильную "встряску"
всего массива: ведь при извлечении первого
элемента приходится корректировать все
числовые индексы у всех оставшихся
элементов, т.к. все последующие элементы
массива сдвигаются на одну позицию вперед.
$ar = array("-v", "-f");
$opt = array(_shift($arr);
// теперь $arr = array("-f"), а $opt = "-v"
array_unshift
Добавляет элементы в начало массива.
Синтаксис :
int array_unshift(list arr, mixed var1 [,mixed
var2, ...])
Функция очень похожа на array_push,
но добавляет перечисленные элементы не в
конец, а в начало массива. При этом порядок
следования var1, var2 и т.д. остается
тем же, т.е. элементы как бы "вдвигаются" в
список слева. Новым элементам списка, как
обычно, назначаются числовые индексы,
начиная с 0; при этом все ключи старых
элементов массива, которые также были
числовыми, изменяются (чаще всего они
увеличиваются на число вставляемых
значений). Функция возвращает новый размер
массива.
$A = array(10,"a"=>20,30);
array_unshift($A,"!","?");
// теперь $A===array(0=>"!", 1=>"?", 2=>10, a=>20, 3=>30)
array_unique
Создает массив только из уникальных
значений.
Синтаксис :
array array_unique(array arr)
Функция array_unique() возвращает
массив, составленный из всех уникальных
значений массива arr вместе с их
ключами, путем удаления всех дублирующих
значений. В результирующий массив помещаются
первые встретившиеся пары ключ=>значение.
Индексы сохраняются.
$input = array("a" => "green", "red", "b" =>
"green", "blue", "red");
$result = array_unique($input);
// теперь $result===("a"=>"green", "red", "blue");