Menu
Coddy logo textTech

Eliminar con 'array_shift'

Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 13 de 68.

La función array_shift() elimina el primer elemento de un array y devuelve ese valor eliminado. Esto es lo opuesto a array_unshift(), que añade elementos al principio de un array.

Así es como funciona:

<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson;  // Muestra: Alice
print_r($queue);    // Muestra: Array ( [0] => Bob [1] => Charlie )
?>

Ten en cuenta que array_shift() tanto modifica el array original como devuelve el elemento eliminado. Después de eliminar el primer elemento, todos los elementos restantes se desplazan automáticamente hacia abajo para llenar el hueco: "Bob" se mueve del índice 1 al índice 0, y "Charlie" se mueve del índice 2 al índice 1.

Esta reindexación ocurre automáticamente, asegurando que tu array mantenga la secuencia numérica adecuada. Si usas array_shift() en un array vacío, devuelve null sin causar un error.

Esta función es especialmente útil para implementar colas, donde se procesan los elementos en un orden "first in, first out" (primero en entrar, primero en salir), como al atender a clientes en una fila o procesar tareas en el orden en que se recibieron.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

challenge icon

Desafío

Fácil

Recibirás dos entradas: un array inicial de clientes esperando en fila en formato JSON y un número que indica cuántos clientes atender. Lee ambas entradas, convierte la cadena JSON en un array, utiliza array_shift() el número especificado de veces para eliminar a los clientes atendidos de la parte delantera de la fila y muestra el array final utilizando print_r().

Formato de entrada: Dos líneas: la primera línea contiene un array JSON (ejemplo: ["Alice","Bob","Charlie","Diana"]), la segunda línea contiene el número de clientes a atender (un número)

Resultado esperado: El array después de eliminar a los clientes atendidos de la parte delantera, mostrado utilizando print_r()

Hoja de referencia

La función array_shift() elimina el primer elemento de un array y devuelve ese valor eliminado:

<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson;  // Salida: Alice
print_r($queue);    // Salida: Array ( [0] => Bob [1] => Charlie )
?>

Puntos clave:

  • Modifica el array original y devuelve el elemento eliminado
  • Los elementos restantes se reindexan automáticamente (se desplazan hacia abajo)
  • Devuelve null si se usa en un array vacío
  • Útil para implementar colas "primero en entrar, primero en salir" (FIFO)

Pruébalo tú mismo

<?php
// Leer el array JSON de clientes
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);

// Leer el número de clientes a atender
$numToServe = intval(fgets(STDIN));

// TODO: Escribe tu código a continuación
// Usa array_shift() para eliminar clientes del frente de la fila


// Mostrar el array final
print_r($customers);
?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo