Treci la conținutul principal

Eliminarea elementelor unui tablou în PHP

PHP are mai multe funcții pentru a scoate elemente dintr-un tablou, fiecare potrivită pentru o altă situație:

  • array_splice() - scoate o serie de elemente, pe baza unei poziții de început și a unei lungimi
  • unset() - șterge elementul stocat la o anumită cheie
  • array_diff() - filtrează elemente dintr-un tablou asociativ
  • array_pop() - elimină ultimul element
  • array_shift() - elimină primul element

Funcția array_splice() în PHP

array_splice() trebuie să știe două lucruri: indexul de la care începe și numărul de elemente de șters.

După ce elementele dispar, PHP renumerotează ce a rămas, astfel încât indicii pornesc din nou de la 0, fără goluri.

Eliminarea unui singur element cu array_splice()

Șterge un element de la indexul 1, a doua mașină:

Prompt
Scrie un script PHP care creează un tablou cu "Volvo", "BMW", "Toyota", apoi folosește array_splice() pentru a elimina al doilea element, și afișează rezultatul cu var_dump().
Ieșire: script PHP

Eliminarea mai multor elemente dintr-un tablou

Ștergerea mai multor elemente cu array_splice() ține de parametrul lungime, care stabilește câte elemente dispar.

Eliminarea mai multor elemente cu array_splice()

Șterge 2 elemente, începând de la indexul 1 (al doilea element):

Prompt
Scrie un script PHP care creează un tablou cu "Volvo", "BMW", "Toyota", apoi folosește array_splice() pentru a elimina 2 elemente începând de la indexul 1, și afișează rezultatul cu var_dump().
Ieșire: script PHP

Funcția unset() în PHP

unset() este o altă modalitate de a șterge elemente care există într-un tablou.

Notă: Spre deosebire de array_splice(), nu modifică numerotarea. Dacă ștergi elementul de la indexul 1, celelalte rămân la 0, 2, 3 și așa mai departe, așa că apare un gol în indici.

Eliminarea unui singur element cu unset()

Șterge al doilea element și observă golul din rezultat:

Prompt
Scrie un script PHP care creează un tablou cu "Volvo", "BMW", "Toyota", apoi folosește unset() pentru a elimina al doilea element, și afișează rezultatul cu var_dump().
Ieșire: script PHP

Eliminarea mai multor elemente dintr-un tablou cu unset()

Deoarece unset() acceptă oricâte argumente vrei, un singur apel poate șterge mai multe elemente:

Eliminarea mai multor elemente cu unset()

Șterge împreună elementele de la indexul 0 și indexul 1:

Prompt
Scrie un script PHP care creează un tablou cu "Volvo", "BMW", "Toyota", apoi folosește unset() pentru a elimina primul și al doilea element, și afișează rezultatul cu var_dump().
Ieșire: script PHP

Eliminarea unui element dintr-un tablou asociativ

unset() funcționează și pe tablouri asociative.

Transmite-i pur și simplu cheia elementului care trebuie să dispară.

Eliminarea unui element dintr-un tablou asociativ cu unset()

Șterge elementul „model”:

Prompt
Scrie un script PHP care creează un tablou asociativ cu "brand" => "Ford", "model" => "Mustang", "year" => 1964, apoi folosește unset() pentru a elimina cheia "model", și afișează rezultatul cu var_dump().
Ieșire: script PHP

Funcția array_diff() în PHP

O altă opțiune pentru tablourile asociative este array_diff().

Aceasta lasă tabloul original neatins și returnează unul nou, fără elementele pe care le-ai enumerat.

Notă: Aici enumeri valori, nu chei.

Eliminarea elementelor cu array_diff()

Construiește un tablou nou care lasă pe dinafară „Mustang” și „1964”:

Prompt
Scrie un script PHP care creează un tablou asociativ cu "brand" => "Ford", "model" => "Mustang", "year" => 1964, apoi folosește array_diff() pentru a crea un tablou nou fără "Mustang" și 1964, și afișează rezultatul cu var_dump().
Ieșire: script PHP

array_pop() în PHP - eliminarea ultimului element al tabloului

Pentru a elimina ultimul element al unui tablou, apelează array_pop().

Eliminarea ultimului element cu array_pop()

Elimină „Toyota”, ultima mașină:

Prompt
Scrie un script PHP care creează un tablou cu "Volvo", "BMW", "Toyota", apoi folosește array_pop() pentru a elimina ultimul element, și afișează rezultatul cu var_dump().
Ieșire: script PHP

array_shift() în PHP - eliminarea primului element al tabloului

Pentru a elimina elementul de la începutul tabloului, apelează array_shift().

Eliminarea primului element cu array_shift()

Elimină „Volvo”, prima mașină:

Prompt
Scrie un script PHP care creează un tablou cu "Volvo", "BMW", "Toyota", apoi folosește array_shift() pentru a elimina primul element, și afișează rezultatul cu var_dump().
Ieșire: script PHP