Веб-студия, создание сайтов, создание Интернет-магазинов
-
Рубрики
-
Календарь
Май 2012 Пн Вт Ср Чт Пт Сб Вс « Авг 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Архивы
- Август 2011 (6)
- Март 2011 (3)
- Февраль 2011 (3)
- Ноябрь 2010 (7)
- Октябрь 2010 (2)
- Сентябрь 2010 (7)
- Август 2010 (8)
- Июль 2010 (11)
- Июнь 2010 (9)
- Май 2010 (16)
- Апрель 2010 (48)
- Март 2010 (23)
- Февраль 2010 (14)
- Январь 2010 (14)
- Декабрь 2009 (9)
- Ноябрь 2009 (6)
- Октябрь 2009 (8)
- Сентябрь 2009 (13)
- Август 2009 (22)
- Июль 2009 (30)
- Июнь 2009 (46)
- Май 2009 (28)
- Апрель 2009 (14)
- Март 2009 (8)
- Февраль 2009 (11)
Новые комментарии
- Галина к записи С Днем сисадмина!
- Примеры скриптов « Эхо блогосферы к записи Разбор XML файла с помощью PHP
- Примеры скриптов « Эхо блогосферы к записи Разбор XML файла с помощью PHP
- admin к записи Сделать спойлер
- admin к записи Сделать спойлер
- Sveta к записи Сделать спойлер
- Sveta к записи Сделать спойлер
- Димыч к записи Простой скрипт для создания превью
Работа с массивами : Вставка / удаление элементов из массива
Мы уже знаем несколько операторов, которые отвечают за вставку и удаление элементов. Например, оператор [] (пустые квадратные скобки) добавляет элемент в конец массива, присваивая ему числовой ключ, а оператор Unset()вместе с извлечением по ключу удаляет нужный элемент.
Язык PHP версии 4 поддерживает и многие другие функции, которые иногда бывает удобно использовать.
1 | int array_push(alist &$Arr, mixed $var1 [, mixed $var2, …]) |
Эта функция добавляет к списку $Arrэлементы $var1, $var2и т. д. Она присваивает им числовые индексы — точно так же, как это происходит для стандарных []. Если вам нужно добавить всего один элемент, наверное, проще и будет воспользоваться этим оператором:
1 2 3 4 | array_push($Arr,1000); // вызывае мфункцию… $Arr[]=100; // тоже самое, но короче |
Обратите внимание, что функция array_push() воспринимает массив, как стек, и добавляет элементы всегда в его конец. Она возвращает новое число элементов в массиве.
1 | mixed array_pop(list &$Arr) |
Функция array_pop(), а противоположность array_push(), снимает элемент с «вершины» стека (то есть берет последний элемент списка) и возвращает его, удалив после этого его из $Arr. С помощью этой функции мы можем строить конструкции, напоминающие стек. Если список $Arrбыл пуст, функция возвращает пустую строку.
1 | int array_unshift(list &$Arr, mixed $var1 [, mixed $var2, …]) |
Функция очень похожа на array_push(), но добавляет перечисленные элементы не в конец, а в начало массива. При этом порядок следования $var1, $var2и т. д. остается тем же, т. е. элементы как бы «вдвигаются» в список слева. Новым элементам списка, как обычно, назначаются числовые индексы, начиная с 0; при этом все ключи старых элементов массива, которые также были числовыми, изменяются (чаще всего они увеличиваются на число вставляемых значений). Функция возвращает новый размер массива. Вот пример ее применения:
1 2 3 4 | $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(), но только получает начальный, а не конечный элемент, а также производит довольно сильную «встряску» всего массива: ведь при извлечении первого элемента приходится корректировать все числовые индексы у всех оставшихся элементов…
1 | array array_unique(array $Arr) |
Функция array_unique() возвращает массив, составленный из всех уникальных значений массива $Arrвместе с их ключами. В результирующий массив помещаются первые встретившиеся парыключ=>значение:
1 2 3 | $input=array("a" => "green", "red", "b" => "green", "blue", "red");
$result=array_unique($input);
// теперь $result===array("a"=>"green", "red", "blue"); |
1 | array array_splice(array &$Arr, int $offset [, int $len] [, int $Repl]) |
Эта функция, также как и array_slice(), возвращает подмассив $Arr, начиная с индекса $offsetмаксимальной длины $len, но, вместе с тем, она делает и другое полезное действие. А именно, она заменяет только что указанные элементы на то, что находится в массиве $Repl(или просто удаляет, если $Replне указан). Параметры $offsetи $lenзадаются так же, как и в функции substr()— а именно, они могут быть и отрицательными, в этом случае отсчет начинается от конца массива.
Приведу несколько примеров:
1 2 3 4 5 6 7 8 9 | $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") |
Последний пример показывает, что в качестве параметра $Repl мы можем указать и обычное, строковое значение, а не массив из одного элемента.
Пока нет комментариев.
Вы должны зайти чтобы оставить комментарийt.
Нет трэкбэков.
|
General Office Technologies 2010 © All Rights Reserved. Architecture and Web Design: Alexander Morgan |

