Eliminar elemento de arreglo en PHP a partir de su índice

Introducción

Este es un ejercicio simple pero que nos servirá a la mayoría al trabajar con arreglos en PHP. En algún momento de nuestras vidas puede que nos topemos con el problema de eliminar un elemento de un arreglo en PHP.

Por ejemplo, si tenemos un carrito de compras como el que implementamos en el sistema de ventas MVC tendremos que saber quitar un elemento de un array en PHP.

Cómo eliminar o remover elemento de arreglo en PHP

Esto es muy simple, no importa cómo esté compuesto nuestro arreglo. Puede ser un arreglo de arreglos, de objetos, de números, de cadenas o de lo que sea, eso no importará.

Lo que tenemos que conocer es el índice del arreglo, es decir, ¿en cuál posición está nuestro elemento? y para ello podemos hacer una búsqueda secuencial como lo expliqué en este post.

Una vez que tenemos al índice, llamamos a array_splice cuya documentación se encuentra aquí.

Lo que hace esa función es remover o eliminar elementos de un arreglo y opcionalmente remplazarlos con otros. Como argumentos, en orden, recibe:

  1. El arreglo al que le vamos a eliminar el elemento
  2. A partir de dónde empezar la eliminación (desde cuál índice)
  3. Cuántos elementos vamos a eliminar desde el índice del argumento 2
  4. Valores que poner después de los elementos eliminados. Debe ser un arreglo

Pero bueno, eso confunde un poco. Para eliminar únicamente un elemento, le pasamos el arreglo, luego el índice o posición y finalmente el número 1; lo que hará que elimine únicamente un elemento a partir del índice que le damos, y que no lo remplace con nada.

Cuidado: esta función no devuelve el arreglo, devuelve los elementos eliminados y modifica directamente al arreglo; es decir, recibe al array por referencia.

Ejemplo en donde eliminamos un elemento del array

Vamos a eliminar un elemento de nuestro arreglo de frutas. En este caso vamos a omitir la búsqueda secuencial para hacer más corta la explicación. Por cierto, estamos usando la sintaxis corta de arreglos.

Aquí el código:

Como dice el código, el índice podemos recibirlo por cualquier método, y si deseamos buscarlo nosotros mismos entonces hacemos la búsqueda.

No guardamos el resultado de la llamada a la función porque array_splice modifica directamente al arreglo que le pasamos, y devuelve lo que eliminó, cosa que no nos importa por el momento.

La salida es esta:

Eliminar elemento de arreglo en PHP
Eliminar elemento de arreglo en PHP

En este caso lo hicimos con un arreglo de cadenas, pero funciona con arreglos de cualquier tipo.

Aquí puedes ver cómo ejecutar un archivo de PHP desde la terminal.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

1 comentario en “Eliminar elemento de arreglo en PHP a partir de su índice”

  1. Pingback: Ordenar un arreglo ascendente y descendente en PHP - Parzibyte's blog

Dejar un comentario