|
ные скобки) добавляет элемент в
ко-
Глава 13. Работа с массивами 233
нец массива, присваивая ему числовой ключ, а оператор Unset() вместе с извлече-
нием по ключу удаляет нужный элемент. Язык PHP версии 4 поддерживает и многие
другие функции, которые иногда бывает удобно использовать.
int array_push(alist &$Arr, mixed $var1 [, mixed $var2, …])
Эта функция добавляет к списку $Arr элементы $var1, $var2 и т. д. Она
присваива-
ет им числовые индексы — точно так же, как это происходит для стандарных [].
Ес-
ли вам нужно добавить всего один элемент, наверное, проще и будет
воспользоваться
этим оператором:
array_push($Arr,1000); // вызываем функцию…
$Arr[]=100; // то же самое, но короче
Обратите внимание, что функция array_push() воспринимает массив, как стек, и
добавляет элементы всегда в его конец. Она возвращает новое число элементов в
массиве.
mixed array_pop(list &$Arr)
Функция array_pop(), а противоположность array_push(), снимает элемент с
"вершины" стека (то есть берет последний элемент списка) и возвращает его,
удалив
после этого его из $Arr. С помощью этой функции мы можем строить конструкции,
напоминающие стек. Если список $Arr был пуст, функция возвращает пустую стро-
ку.
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)
mixed array_shift(list &$Arr)
Эта функция извлекает первый элемент массива $Arr и возвращает его. Она сильно
напоминает array_pop(), но только получает начальный, а не конечный элемент, а
также производит довольно сильную "встряску" всего массива: ведь при извлечении
первого элемента приходится корректировать все числовые индексы у всех
оставших-
ся элементов…
array array_unique(array $Arr)
Часть IV. Стандартные функции PHP 234
Функция array_unique() возвращает массив, составленный из всех уникальных
значений массива $Arr вместе с их ключами. В результирующий массив помещают-
ся первые встретившиеся пары ключ=>значение:
$input=array("a" => "green", "red", "b" => "green", "blue", "red");
$result=array_unique($input);
// теперь $result===array("a"=>"green", "red", "blue");
array array_splice(array &$Arr, int $offset [, int $len] [, int $Repl])
Эта функция, также как и array_slice(), возвращает подмассив $Arr, начиная с
индекса $offset максимальной длины $len, но, вместе с тем, она делает и другое
полезное действие. А именно, она заменяет только что указанные элементы на то,
что
находится в массиве $Repl (или просто удаляет, если $Repl не указан). Параметры
$offset и $len задаются так же, как и в функции substr() — а именно, они могут
быть и отрицательными, в этом случае отсчет начинается от конца массива. За де-
тальными разъяснениями обращайтесь к описанию функции 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), "
|
|