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:

<?php

$frutas = ["Manzana", "Pera", "Sandía", "Limón", "Naranja"];

#Imprimirlo antes de quitarle un elemento
echo "Antes de eliminar:\n";
print_r($frutas);
/*
    Nota: aquí el índice lo definimos nosotros mismos, también
    puedes buscarlo usando una búsqueda secuencial:
    
Búsqueda secuencial en arreglo de PHP
Este índice también puedes recibirlo por $_GET, a través de un formulario o por el medio que desees */ # El índice le pertenece a Sandía $indiceParaEliminar = 2; $cuantos = 1; # Eliminar 1 elemento a partir del índice 2 # Recordemos que array_splice modifica el arreglo, no necesitamos guardar su resultado array_splice($frutas, $indiceParaEliminar, $cuantos); echo "Después de eliminar:\n"; print_r($frutas); ?>

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

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

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