Cómo eliminar un elemento de un array en PHP
-
Usando la función
unset()
para eliminar un elemento de un array en PHP -
Usando la función
array_splice()
para eliminar un elemento de un array en PHP -
Usando la función
array_diff()
para eliminar un elemento de un array en PHP
En este artículo, presentaremos métodos para eliminar un elemento de un array
en PHP.
- Uso de la función
unset()
- Usando la función
array_splice()
- Usando la función
array_diff()
Usando la función unset()
para eliminar un elemento de un array en PHP
La función incorporada unset()
se usa para eliminar el valor almacenado en una variable. Solo es aplicable a las variables locales. No refleja su comportamiento en variables globales. Podemos usar esta función para eliminar un elemento de un array
. La sintaxis correcta para usar esta función es la siguiente
unset($variableName);
Tiene un solo parámetro obligatorio. La variable cuyo valor deseamos eliminar se pasa como parámetro a esta función.
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
"Hibiscus",
"Tulip",
"Sun Flower",
"Daffodil",
"Daisy");
unset($flowers[1]);
echo "The array is:\n";
print_r($flowers);
?>
Esta función puede eliminar un valor a la vez. El nombre del array junto con el índice del elemento ($flowers[1]
) se pasa como parámetro. Esta función no cambia los valores del índice. Los valores del índice siguen siendo los mismos que antes.
Producción :
The array is:
Array
(
[0] => Rose
[2] => Jasmine
[3] => Hibiscus
[4] => Tulip
[5] => Sun Flower
[6] => Daffodil
[7] => Daisy
)
Como puede ver, falta el índice 1
después de aplicar la función unset
.
Usando la función array_splice()
para eliminar un elemento de un array en PHP
La función array_splice()
se usa para agregar elementos a un array
o eliminar elementos de un array
. La sintaxis correcta para usar esta función es la siguiente
array_splice($arrayName, $startingIndex, $numOfElements, $array2Name);
Tiene cuatro parámetros.
$arrayName
es un parámetro obligatorio. Es laarray
cuyos elementos serán eliminados.$startingIndex
es el índice del elemento que deseamos eliminar.$numOfElements
es el número de elementos que queremos eliminar del índice inicial.$array2Name
es unarray
de elementos que queremos agregar.
$numOfElements
y $array2Name
son opcionales.
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
"Hibiscus",
"Tulip",
"Sun Flower",
"Daffodil",
"Daisy");
array_splice($flowers, 4, 3);
echo "The array is:\n";
print_r($flowers);
?>
La array $flowers
se pasa como un parámetro a esta función junto con el índice inicial 4 y el número de elementos que queremos eliminar-3. De esta manera, podemos eliminar múltiples elementos de un array
.
Producción :
The array is:
Array
(
[0] => Rose
[1] => Lili
[2] => Jasmine
[3] => Hibiscus
[4] => Daisy
)
A diferencia de unset
, la función array_splice
reindexará automáticamente las teclas.
Daisy
tiene el nuevo índice como 4 pero no el índice original - 7, después de eliminar tres elementos anteriores.
Usando la función array_diff()
para eliminar un elemento de un array en PHP
La función incorporada array_diff()
encuentra la diferencia entre dos o más arrays
. Se puede utilizar para eliminar múltiples valores de un array
sin afectar sus índices. La sintaxis correcta para usar esta función es la siguiente
array_diff($array1, $array2, $array3, ... , $arrayN);
Toma N número de arrays
como parámetros. Compara la primera array con todas las demás matrices y devuelve un array
que contiene todos los elementos de la primera array que no están presentes en otras matrices.
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
"Hibiscus",
"Tulip",
"Sun Flower",
"Daffodil",
"Daisy");
$flowers = array_diff($flowers, array("Rose","Lili"));
echo "The array is:\n";
print_r($flowers);
?>
Aquí, la primera array que hemos pasado es $flowers
y la segunda array contiene los elementos que queremos eliminar de $flowers
. Esta función no cambia los índices de los elementos del array.
Producción :
The array is:
Array
(
[2] => Jasmine
[3] => Hibiscus
[4] => Tulip
[5] => Sun Flower
[6] => Daffodil
[7] => Daisy
)