Taller > PHP > Arrays
Cómo Eliminar Elementos de un Array en PHP
Eliminar elementos de un array es una tarea común en PHP. Existen varias formas de hacerlo, dependiendo de si deseas eliminar un solo elemento, múltiples elementos o trabajar con arrays indexados o asociativos.
A continuación, exploraremos las principales funciones que te ayudarán a eliminar elementos de un array de manera efectiva.
Eliminar Elementos con array_splice()
La función array_splice() te permite eliminar uno o varios elementos de un array a partir de un índice específico. Además, reordena automáticamente los índices restantes para que sigan siendo consecutivos.
Sintaxis
array_splice(array, índice_inicio, número_elementos);
índice_inicio: El índice desde donde se comenzará a eliminar.
número_elementos: La cantidad de elementos que deseas eliminar.
Ejemplo: Eliminar un Elemento
Supongamos que tienes un array de autos y deseas eliminar el segundo elemento ("BMW"):
<?php
$autos = array("Volvo", "BMW", "Toyota");
array_splice($autos, 1, 1); // Elimina "BMW"
var_dump($autos);
?>
Resultado
Después de ejecutar este código, el array será reindexado automáticamente:
array(2) {
[0] => string(5) "Volvo"
[1] => string(6) "Toyota"
}
Ejemplo: Eliminar Múltiples Elementos
Si deseas eliminar más de un elemento, simplemente ajusta el tercer parámetro:
<?php
$autos = array("Volvo", "BMW", "Toyota", "Honda");
array_splice($autos, 1, 2); // Elimina "BMW" y "Toyota"
var_dump($autos);
?>
Eliminar Elementos con unset()
La función unset() elimina un elemento del array, pero no reordena los índices restantes, lo que significa que el índice eliminado quedará vacío.
Ejemplo: Eliminar un Elemento con unset()
<?php
$autos = array("Volvo", "BMW", "Toyota");
unset($autos[1]); // Elimina "BMW"
var_dump($autos);
?>
Resultado
El array resultante no reindexa los elementos:
array(2) {
[0] => string(5) "Volvo"
[2] => string(6) "Toyota"
}
Como puedes ver, el índice 1 ha desaparecido, pero los demás elementos mantienen su índice original.
Ejemplo: Eliminar Múltiples Elementos con unset()
Puedes eliminar varios elementos pasando múltiples índices a unset():
<?php
$autos = array("Volvo", "BMW", "Toyota");
unset($autos[0], $autos[2]); // Elimina "Volvo" y "Toyota"
var_dump($autos);
?>
Eliminar Elementos de un Array Asociativo
En un array asociativo, unset() se utiliza para eliminar un elemento específico utilizando la clave.
Ejemplo: Eliminar un Elemento de un Array Asociativo
<?php
$auto = array("marca" => "Ford", "modelo" => "Mustang", "año" => 1964);
unset($auto["modelo"]); // Elimina "modelo"
var_dump($auto);
?>
Resultado
array(2) {
["marca"] => string(4) "Ford"
["año"] => int(1964)
}
Eliminar Elementos con array_diff()
La función array_diff() crea un nuevo array que excluye ciertos valores. Es útil cuando deseas eliminar elementos basados en sus valores y no en sus índices o claves.
Ejemplo: Eliminar Elementos con array_diff()
<?php
$auto = array("marca" => "Ford", "modelo" => "Mustang", "año" => 1964);
$nuevo_array = array_diff($auto, ["Mustang", 1964]);
var_dump($nuevo_array);
?>
Resultado
array(1) {
["marca"] => string(4) "Ford"
}
Nota: array_diff() compara los valores, no las claves.
Eliminar el Último Elemento con array_pop()
La función array_pop() elimina el último elemento de un array y reduce la longitud del array en uno.
Ejemplo: Eliminar el Último Elemento
<?php
$autos = array("Volvo", "BMW", "Toyota");
array_pop($autos); // Elimina "Toyota"
var_dump($autos);
?>
Resultado
array(2) {
[0] => string(5) "Volvo"
[1] => string(3) "BMW"
}
Eliminar el Primer Elemento con array_shift()
La función array_shift() elimina el primer elemento de un array y reordena los índices para que empiecen desde 0.
Ejemplo: Eliminar el Primer Elemento
<?php
$autos = array("Volvo", "BMW", "Toyota");
array_shift($autos); // Elimina "Volvo"
var_dump($autos);
?>
Resultado
array(2) {
[0] => string(3) "BMW"
[1] => string(6) "Toyota"
}
Conclusión
PHP proporciona varias formas eficientes de eliminar elementos de un array, ya sea que necesites eliminar uno o varios elementos, trabajar con arrays indexados o asociativos, o incluso eliminar el primer o último elemento del array.
Es importante entender cómo funcionan estas funciones y cuándo es apropiado usarlas, ya que cada una maneja los índices y las claves de manera diferente. Aprovecha estas herramientas para manejar tus arrays de manera efectiva en tus proyectos PHP.