Eliminar un elemento de un array en PHP
Eliminar un elemento de un array en PHP. Hay diferentes formas de eliminar un elemento de matriz, donde algunas son más útiles que otras, todo depende de lo que necesitamos realizar.
Eliminar un elemento de un array en PHP
Si desea eliminar solo un elemento de la matriz, puede usar unset() o, alternativamente, \array_splice().
Si conoce el valor y no conoce la clave para eliminar el elemento, puede usar \array_search() para obtener la clave. Esto solo funciona si el elemento no aparece más de una vez, ya que \array_search solo devuelve el primer resultado.
Usando la función unset()
Tenga en cuenta que cuando usa unset(), las claves de matriz no cambiarán. Si desea volver a indexar las claves, puede usar \array_values() después de unset(), que convertirá todas las claves en claves enumeradas numéricamente a partir de 0.
Código:
$array = [0 => "a", 1 => "b", 2 => "c"]; unset($array[1]); // ↑ Key which you want to delete
Salida en el navegador
[ [0] => a [2] => c ]
Si tiene una matriz indexada numéricamente en la que todos los valores son únicos (o no son únicos pero desea eliminar todas las instancias de un valor particular), puede utilizar simplemente array_diff()
para eliminar un elemento coincidente, como este:
$my_array = array_diff($my_array, array('Remover_valor'));
Podemos crear un ejemplo con esta opción y seria de la siguiente manera
my_array = array('Andy', 'Bertha', 'Charles', 'Diana'); echo sizeof($my_array) . "\n"; $my_array = array_diff($my_array, array('Charles')); echo sizeof($my_array);
La salida en el navegador seria:
4 3
Explicación del script:
En la instrucción el elemento con el valor ‘Charles‘ se elimina como puede ser verificado por las llamadas sizeof()
que informan un tamaño de 4 para la matriz inicial y ahora cuenta 3 después de ejecutar la eliminación.
Resumen
En este articulo hemos aprendido a eliminar elementos de un array de una manera muy sencilla y podemos aplicar también a matrices extraídas desde MySQL.
Además, una de las funciones en PHP nativo para eliminar es unset() que también puede eliminar elementos de un array en especifico.
Hemos usado la función sizeof() para contar elementos de un array en PHP