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 lungimiunset()- șterge elementul stocat la o anumită cheiearray_diff()- filtrează elemente dintr-un tablou asociativarray_pop()- elimină ultimul elementarray_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ă:
Ieșire: script PHP
<?php
$cars = array("Volvo", "BMW", "Toyota");
array_splice($cars, 1, 1);
var_dump($cars);
?>
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):
Ieșire: script PHP
<?php
$cars = array("Volvo", "BMW", "Toyota");
array_splice($cars, 1, 2);
var_dump($cars);
?>
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:
Ieșire: script PHP
<?php
$cars = array("Volvo", "BMW", "Toyota");
unset($cars[1]);
var_dump($cars);
?>
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:
Ieșire: script PHP
<?php
$cars = array("Volvo", "BMW", "Toyota");
unset($cars[0], $cars[1]);
var_dump($cars);
?>
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”:
Ieșire: script PHP
<?php
$cars = array("brand" => "Ford", "model" => "Mustang", "year" => 1964);
unset($cars["model"]);
var_dump($cars);
?>
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”:
Ieșire: script PHP
<?php
$cars = array("brand" => "Ford", "model" => "Mustang", "year" => 1964);
$newarray = array_diff($cars, ["Mustang", 1964]);
var_dump($newarray);
?>
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ă:
Ieșire: script PHP
<?php
$cars = array("Volvo", "BMW", "Toyota");
array_pop($cars);
var_dump($cars);
?>
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ă:
Ieșire: script PHP
<?php
$cars = array("Volvo", "BMW", "Toyota");
array_shift($cars);
var_dump($cars);
?>