Funkcja PHP array_splice()
Przykład
Usunięcie elementów z tablicy i zastąpienie ich nowymi elementami:
<?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); ?>
Definicja i użycie
Funkcja array_splice() usuwa wybrane elementy z tablicy i zastępuje je nowymi elementami. Funkcja ta również zwraca tablicę zawierającą usunięte elementy.
Wskazówka:Jeśli funkcja nie usunęła żadnych elementów (length=0), to start Parametry umieszczane są w miejscu tablicy, która zostanie zastąpiona (zobacz przykład 2).
Komentarz:Nie zachowuje nazw kluczy w tablicy, która zostanie zastąpiona.
Opis
Funkcja array_splice() jest podobna do array_slice() Funkcja podobna, wybiera szeregu elementów z tablicy, ale nie zwraca ich, a zamiast tego usuwa je i zastępuje innymi wartościami.
Jeśli podano czwarty parametr, wybrane elementy zostaną zastąpione tablicą określoną przez czwarty parametr.
Ostatnio utworzona tablica zostanie zwrócona.
Gramatyka
array_splice(tablica,start,length,tablica)
Parametry | Opis |
---|---|
tablica | Wymagane. Określa tablicę. |
start |
Wymagane. Wartość liczbowa. Określa pozycję startową do usunięcia elementów.
|
length |
Opcjonalnie. Liczba. Określa liczbę elementów do usunięcia, która jest również długością zwróconej tablicy.
|
tablica |
Opcjonalnie. Tablica. Określa tablicę zawierającą elementy do wstawienia do oryginalnej tablicy. Jeśli jest tylko jeden element, można go ustawić jako ciąg, bez ustawiania jako tablicy. |
Szczegóły techniczne
Wartość zwracana: | Zwraca tablicę z elementami wybranymi. |
Wersja PHP: | 4+ |
Więcej przykładów
Przykład 1
Jak w przykładach części poprzedzającej tej strony, ale zwraca zwrócony ciąg tablicy:
<?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)); ?>
Przykład 2
Ustaw parametr length na 0:
<?php $a1=array("0"=>"red","1"=>"green"); $a2=array("0"=>"purple","1"=>"orange"); array_splice($a1,1,0,$a2); print_r($a1); ?>