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 removed. Esto es lo contrario de 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;  // Salida: Alice
print_r($queue);    // Outputs: Array ( [0] => Bob [1] => Charlie )
?>

Observa que array_shift() modifica tanto el arreglo 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 espacio: "Bob" pasa del índice 1 al índice 0, y "Charlie" pasa del índice 2 al índice 1.

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

Esta función es especialmente útil para implementar colas, donde procesas los elementos en el orden de «primero en entrar, primero en salir», como al atender a clientes en una fila o procesar tareas en el orden en que se recibieron.

challenge icon

Desafío

Fácil

Recibirás dos entradas: un array inicial de clientes que esperan en la fila en formato JSON y un número que indica cuántos clientes atender. Lee ambas entradas, convierte la cadena JSON en un array, usa array_shift() el número de veces especificado para eliminar de la fila los clientes atendidos desde el principio y muestra el array final usando 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 que se deben atender (un número)

Salida esperada: El array después de eliminar los clientes atendidos desde el principio, mostrado usando print_r()

Pruébalo tú mismo

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

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

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


// Muestra 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

Practica por tu cuenta: Compilador de PHP online