Menu
Coddy logo textTech

Removendo com 'array_shift'

Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 13 de 68.

A função array_shift() remove o primeiro elemento de um array e retorna esse valor removido. Isso é o oposto de array_unshift(), que adiciona elementos ao início de um array.

Veja como funciona:

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

Observe que array_shift() modifica o array original e retorna o elemento removido. Após remover o primeiro elemento, todos os elementos restantes são deslocados automaticamente para baixo para preencher a lacuna — "Bob" move-se do índice 1 para o índice 0, e "Charlie" move-se do índice 2 para o índice 1.

Esta reindexação acontece automaticamente, garantindo que seu array mantenha a sequência numérica adequada. Se você usar array_shift() em um array vazio, ele retorna null sem causar um erro.

Esta função é particularmente útil para implementar filas, onde você processa itens em uma ordem "first in, first out" (primeiro a entrar, primeiro a sair) — como atender clientes em uma fila ou processar tarefas na ordem em que foram recebidas.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

challenge icon

Desafio

Fácil

Você receberá duas entradas: um array inicial de clientes esperando na fila em formato JSON e um número indicando quantos clientes devem ser atendidos. Leia ambas as entradas, converta a string JSON em um array, use array_shift() o número especificado de vezes para remover os clientes atendidos da frente da fila e imprima o array final usando print_r().

Formato de entrada: Duas linhas - a primeira linha contém um array JSON (exemplo: ["Alice","Bob","Charlie","Diana"]), a segunda linha contém o número de clientes a serem atendidos (um número)

Saída esperada: O array após a remoção dos clientes atendidos da frente, exibido usando print_r()

Folha de consulta

A função array_shift() remove o primeiro elemento de um array e retorna esse valor removido:

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

Pontos principais:

  • Modifica o array original e retorna o elemento removido
  • Os elementos restantes são reindexados automaticamente (deslocados para baixo)
  • Retorna null se for usada em um array vazio
  • Útil para implementar filas do tipo "primeiro a entrar, primeiro a sair" (FIFO)

Experimente você mesmo

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

// Lê o número de clientes a serem atendidos
$numToServe = intval(fgets(STDIN));

// TODO: Escreva seu código abaixo
// Use array_shift() para remover clientes da frente da fila


// Exibe o array final
print_r($customers);
?>
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo