Если указать length>0, то это число возвращаемых в массиве элементов, а если length<0, то это позиция последнего возвращаемого элемента в массиве arr от его конца.
В качестве примера укажем следующие эквивалентыне замены:
array_push($input, $x, $y) array_splice($input, count($input), 0, array($x, $y))
array_pop($input) array_splice($input, -1)
array_shift($input) array_splice($input, -1)
array_unshift($input, $x, $y) array_splice($input, 0, 0, array($x, $y))
$a[$x] = $y array_splice($input, $x, 1, $y)
Пример использования функции array_splice():
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input is now array("red", "green")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input is now array("red", "yellow")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// $input is now array("red", "orange")
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// $input is now array("red", "green",
// "blue", "black", "maroon")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input is now array("red", "green",
// "blue", "purple", "yellow");
?>
Функция поддерживается PHP 4, PHP 5
Вставка / удаление элементов
array_pad
Добавляет в массив несколько элементов.
Синтаксис:
array array_pad(array input, int pad_size, mixed pad_value)
Функция array_pad() возвращает копию массива input, в который были добавлены элементы с значениями pad_value, так, что число элементов в получившемся массиве будет равно pad_size.
Если pad_size0, то элементы будут добавлены в конец массива, а если <0 - то в начало.
В случае, если значение pad_size меньше элементов в исходном массиве input, то никакого добавления не произойдет, и функция вернет исходный массив input.
Пример использования функции array_pad():
$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");
// не добавит
Функция поддерживается PHP 4, PHP 5
array_pop
Извлекает и удаляет последние элементы массива.
Синтаксис:
mixed array_pop(array arr);
Функция array_pop() извлекает последний элемент из массива arr и возвращает его, удалив после этого. С помощью этой функции мы можем строить конструкции, напоминающие стек. Если массив arr был пуст, или это не массив, функция возвращает пустую строку NULL.
После использования функции array_pop() курсор массива устанавливается в начало.
Пример использования функции array_pop():
<?php
$stack = array("orange", "apple", "raspberry");
$fruits = array_pop($stack);
print_r($stack);
print_r($fruits);
?>
Пример выведет следующее:
Array( [0] => orange [1] => banana [2] => apple)
Функция поддерживается PHP 4, PHP 5
array_push
Добавляет один или несколько элементов в конец массива.
Синтаксис:
int array_push(array arr, mixed var1 [, mixed var2, ..])
Функция array_push() добавляет к массиву arr элементы var1, var2 и т.д. Она присваивает им числовые индексы - точно так же, как это происходит для стандартных []. Если вам нужно добавить всего один элемент, наверное, проще будет воспользоваться этим оператором:
array_push($Arr,1000); // вызываем функцию
$Arr[]=100; // то же самое, но короче
Пример использования функции array_push():
<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>
Пример выведет следующее:
Array( [0] => orange [1] => banana [2] => apple [3] => raspberry)
Обратите внимание, что функция array_push() воспринимает массив, как стек, и добавляет элементы всегда в его конец.
Функция поддерживается PHP 4, PHP 5
array_shift
Извлекает и удаляет первый элемент массива.
Синтаксис:
mixed array_shift(array arr)
Функция array_shift() извлекает первый элемент массива arr и возвращает его. Она сильно напоминает array_pop(), но только получает начальный, а не конечный элемент, а также производит довольно сильную "встряску" всего массива: ведь при извлечении первого элемента приходится корректировать все числовые индексы у всех оставшихся элементов, т.к. все последующие элементы массива сдвигаются на одну позицию вперед. Строковые ключи массива не изменяются.
Если массив arr пустой или он не является массивом, функция возвращает NULL.
После использования этой функции указатель массива становится в начало.
Пример использования функции array_shift():
<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
?>
Данный пример выведет следующее:
Array( [0] => banana [1] => apple [2] => raspberry)
а переменная $fruit будет иметь значение "orange"
Функция поддерживается PHP 4, PHP 5
array_unshift
Добавляет одно или несколько значений в начало массива.
Синтаксис:
int array_unshift(list arr, mixed var1 [,mixed var2, ...])
Функция array_unshift() добавляет переданные значения var в начало массива arr. Порядок расположения новых элементов в массиве сохраняется. Все цифровые индексы массива будут изменены таким образом, чтобы она начинались с нуля. Все строковые индексы массива не изменяются.