Borrar elementos de un array en php

Para explicar las formas en que podemos eliminar elementos de un array en PHP, primero imagina que tenemos un array con estos elementos:

<?php

$animales = array('Perro', 'Gato', 'Caballo', 'Leon'  );

echo $animales[0]; // Imprime Perro

 ?>

Borrar un solo elemento de un array

Para esto puedes usar la función unset de esta forma:

unset( $animales[0] );

Con el código anterior, el array con indice 0, ya no existe. Si intentas accederlo vas obtener un error por que ya no existe.

Borrar varios elementos en un array y que no son continuos

Puedes utilizar la función unset con mas de un parámetro separados por comas, para borrar varios elementos al mismo tiempo, tal como esta en el siguiente código:

unset( $animales[1], $animales[3]  );

Como ya te lo has imaginado, no hay ningún problema aparente para usar el código anterior para borrar elementos continuos, y tienes razón, pero hay una forma mas limpia para borrar los elementos del array, sin esta todos de forma continua.

Borrar varios elementos de un array y que son continuos

array_splice($animales, 1, 2);

El código anterior, con el array $animales, a partir del elemento 1, borrará 2 elementos. A diferencia de unset, esta función va a compactar el array.

Esto significa que cuando intentes acceder a la posición 1 del array, lo que verás es el elemento «Leon» en lugar de un error.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *