Ce face array_splice
array_splice modifică direct tabloul: șterge elementele dintr-o anumită poziție și poate insera altele în locul lor. Returnează elementele scoase.
Cu $length egal cu 0 nu șterge nimic, doar inserează. Așa adaugi un element în mijlocul unui tablou. Cheile numerice sunt renumerotate după operație.
Parametri
| Parametru | Descriere |
|---|---|
$array |
Tabloul modificat direct. |
$offset |
Poziția de la care începe. Un număr negativ se numără de la sfârșit. |
$length |
Opțional. Câte elemente se șterg. Fără el, se șterge tot până la final. |
$replacement |
Opțional. Elementul sau tabloul de elemente inserat în locul celor șterse. |
Ce returnează
Un tablou cu elementele scoase.
Exemple
Exemplul 1: Ștergerea unor elemente din mijloc
<?php
$zile = ["luni", "marți", "miercuri", "joi", "vineri"];
$scoase = array_splice($zile, 1, 2);
echo "Scoase: " . implode(", ", $scoase) . "\n";
echo "Rămase: " . implode(", ", $zile);
Rezultat
Scoase: marți, miercuri
Rămase: luni, joi, vineri
Exemplul 2: Inserare fără ștergere
Cu lungimea 0, array_splice doar inserează la poziția dată.
<?php
$pasi = ["Comandă", "Livrare"];
array_splice($pasi, 1, 0, ["Plată", "Confirmare"]);
print_r($pasi);
Rezultat
Array
(
[0] => Comandă
[1] => Plată
[2] => Confirmare
[3] => Livrare
)
Exemplul 3: Înlocuirea unui element
<?php
$echipa = ["Ana", "Mihai", "Ioana"];
array_splice($echipa, 1, 1, "Radu");
echo implode(", ", $echipa);
Rezultat
Ana, Radu, Ioana
Greșeli frecvente
- Salvezi rezultatul crezând că este tabloul nou:
$lista = array_splice($lista, 1, 1);. Rezultatul conține doar elementele scoase. - Folosești
unsetși te miri de „gaura” din chei.array_splice($t, $i, 1)șterge elementul și renumerotează cheile.
Comenzi înrudite
array_slice: Extrage o bucată dintr-un tablou, fără să modifice tabloul original.unset: Șterge o variabilă sau un element dintr-un tablou.array_shift / array_unshift: Scoate primul element dintr-un tablou (array_shift) sau adaugă elemente la început (array_unshift).