
- •Понятие массива
- •Понятие списка
- •2. Ассоциативные массивы
- •3. Инструкции list()
- •4. Инструкция array() и создание многомерных массивов
- •5. Операции над массивами
- •5.1. Удаление массивов
- •5.3. Перебор массива
- •Косвенный перебор
- •Прямой перебор
- •Недостатки косвенного перебора
- •6. Сортировка массивов
- •Сортировка массивов по ключам. Функции ksort() и krsort()
- •Сортировка списка
- •7. Получение части массива
- •8. Добавление и удаление элементов массива
- •Добавление в конец массива
- •Удаление последнего элемента списка
- •9. Переменные и массивы. Взаимные переходы
- •Упаковка переменных в массив. Функция compact()
- •10. Создание диапазона чисел
- •11. Небольшой практический пример
- •Задание
//массив $В будет содержать
//элементы xox, ror.
Параметры смещение и длина могут быть отрицательными — в этом случае отсчет производится от конца массива:
$В = array_slice($А,2,-1) ; // получаем массив $В,
//состоящий из элементов tot,
//pop.
Функция array_splice() похожа на функцию array_slice(). Ей нужно передать еще один дополнительный параметр — массив (назовем его $к). Как и array_slice(), функция array_splice() возвращает массив указанной длины, начиная со смещения $offset, но и заменяет переданные ей элементы на содержимое массива $к. В принципе, вместо массива $к можно указать обыкновенное строковое значение. Пример:
$А = array("Audi","Mercedes","Toyota","Honda","Renault"); array_splice($A,1,count($A) , "BMW"); // $A = array("Audi","BMW");
8. Добавление и удаление элементов массива
Добавление в конец массива
Ранее мы с вами освоили простейший способ добавления новых элементов в массив, осуществляемый с помощью оператора []. Однако в последних версиях PHP (начиная с 4) предусмотрена функция array_push(), которая добавляет элементы в конец массива так же, как и оператор []-. Например, следующие два оператора аналогичны:
$А[] = 5; array_push($A,5);
Может возникнуть справедливый вопрос: «А зачем нужны два одинаковых способа делать одно и то же?». Ответ заключается в удобстве. Если необходимо добавить один элемент в массив (как в приведенном выше примере), то удобнее использовать оператор []. Использование же функции array_push() оправдывает себя тогда, когда нам нужно добавить в конец массива несколько новых элементов. Например:
$А[]=5; $А[]=1; $А[]=9; $А[]=10; $А[]=15;
Вместо этого можно записать: array_push($A, 5,7,9,10,15);
Примечание. Функция array_push(), помимо всего прочего, возвращает новый размер массива. То есть, если помимо того, чтобы добавить новые элементы в массив, вам нужно узнать и его новую длину, то можно записать $D = array_push($A, 5, 7, 9, 10, 15). Таким образом, новая длина массива будет присвоена переменной $D.
Удаление последнего элемента списка
Функция аггау_рор() противоположна функции array_push(). Она «выталкивает» вершину списка (последний элемент списка). Другими словами, функция аггау_рор() возвращает значение последнего элемента массива и удаляет его из списка. Функции аггау_рор() нужно передать всего один параметр — имя массива (списка):
$А = array(xox, ror, tot, pop, mom); $T=array_pop($A); // переменной $Т присвоили
//значение mom, а массив $А
//лишился этого последнего
//элемента и теперь состоит из
//элементов хох, ror, tot, pop. array_pop($A) ;
//массив $А еще раз лишился последнего
//элемента и теперь