Функция PHP array_splice()
Пример
Удаление элементов из массива и замена их новыми элементами:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("a"=>"purple","b"=>"orange"); array_splice($a1,0,2,$a2); print_r($a1); ?>
Определение и использование
Функция array_splice() удаляет выбранные элементы из массива и заменяет их новыми элементами. Эта функция также возвращает массив, содержащий удаленные элементы.
Совет:Если функция не удалила ни одного элемента (length=0), то将从 start Параметры вставляются в положение, где находится заменяемый массив (см. пример 2).
Комментарий:Не сохраняются имена ключей в заменяемом массиве.
Описание
Функция array_splice() аналогична array_slice() Функция аналогична, выбирает последовательность элементов из массива, но не возвращает их, а удаляет и заменяет другими значениями.
Если предоставлен четвертый параметр, то ранее выбранные элементы будут заменены массивом, указанным четвертым параметром.
Возвратится последний созданный массив.
Синтаксис
array_splice(array,start,length,array)
Параметры | Описание |
---|---|
array | Обязателен. Определяет массив. |
start |
Обязателен. Числовое значение. Определяет начальное положение для удаления элементов.
|
length |
Опционально. Числовое значение. Определяет количество удаляемых элементов, также это длина возвращаемого массива.
|
array |
Опционально. Определяет массив, содержащий элементы, которые нужно вставить в исходный массив. Если есть только один элемент, его можно установить в строку, не нужно устанавливать в массив. |
Технические детали
Возврат значений: | Возвращает массив, состоящий из извлеченных элементов. |
Версия PHP: | 4+ |
Более примеров
Пример 1
Как и в примере в предыдущей части этой страницы, но возвращает массив вывода:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("a"=>"purple","b"=>"orange"); print_r(array_splice($a1,0,2,$a2)); ?>
Пример 2
Установите параметр length в 0:
<?php $a1=array("0"=>"red","1"=>"green"); $a2=array("0"=>"purple","1"=>"orange"); array_splice($a1,1,0,$a2); print_r($a1); ?>