Adicionando com 'array_unshift'
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 12 de 68.
Enquanto array_push() adiciona elementos ao final de um array, a função array_unshift() faz o oposto—ela adiciona um ou mais elementos ao início de um array. Esta função modifica o array original diretamente e retorna o novo comprimento do array.
Aqui está a sintaxe básica:
<?php
$tasks = ["buy groceries", "do laundry"];
array_unshift($tasks, "urgent meeting");
print_r($tasks); // Saída: Array ( [0] => urgent meeting [1] => buy groceries [2] => do laundry )
?>Observe como o novo elemento se torna o índice 0, e todos os elementos existentes se deslocam para índices superiores. Essa reindexação acontece automaticamente — array_unshift() atualiza todas as chaves numéricas para manter a sequência adequada.
Você também pode adicionar múltiplos elementos de uma só vez:
<?php
$priorities = ["medium task"];
array_unshift($priorities, "high priority", "critical task");
print_r($priorities); // Saída: Array ( [0] => high priority [1] => critical task [2] => medium task )
?>Esta função é particularmente útil quando você precisa priorizar itens em uma lista, como adicionar tarefas urgentes ao topo de uma lista de tarefas ou inserir itens de alta prioridade na frente de uma fila.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Desafio
FácilVocê receberá duas entradas: um array inicial de notificações no formato JSON e uma nova notificação urgente para adicionar. Leia ambas as entradas, converta a string JSON em um array, use array_unshift() para adicionar a notificação urgente ao início do array e imprima o array final usando print_r().
Formato de entrada: Duas linhas - a primeira linha contém um array JSON (exemplo: ["meeting reminder","email received"]), a segunda linha contém a notificação urgente a ser adicionada
Saída esperada: O array após adicionar a notificação urgente no início, exibido usando print_r()
Folha de consulta
A função array_unshift() adiciona elementos ao início de um array, modificando o array original e retornando seu novo comprimento:
<?php
$tasks = ["buy groceries", "do laundry"];
array_unshift($tasks, "urgent meeting");
print_r($tasks); // Saída: Array ( [0] => urgent meeting [1] => buy groceries [2] => do laundry )
?>Novos elementos tornam-se o índice 0, e os elementos existentes são deslocados para índices superiores automaticamente.
Você pode adicionar vários elementos de uma só vez:
<?php
$priorities = ["medium task"];
array_unshift($priorities, "high priority", "critical task");
print_r($priorities); // Saída: Array ( [0] => high priority [1] => critical task [2] => medium task )
?>Experimente você mesmo
<?php
// Lê o array JSON de notificações
$jsonInput = fgets(STDIN);
$notifications = (array)json_decode($jsonInput, true);
// Lê a notificação urgente para adicionar
$urgentNotification = trim(fgets(STDIN));
// TODO: Escreva seu código abaixo para adicionar a notificação urgente ao início do array
// Exibe o array final
print_r($notifications);
?>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
1Funções Avançadas
Funções AnônimasClosures e 'use'Arrow FunctionsFunções de CallbackUsando 'call_user_func'Funções VariáveisPassagem por ReferênciaFunções RecursivasRecapitulação: Mix de Funções4Arrays Multidimensionais
Criando um Array 2DAcessando Elementos de um Array 2DModificando Elementos de um Array 2DIterando com Loops AninhadosArrays Associativos 2DRecapitulação: Exercício de Grade Simples2Manipulações Avançadas de Arrays
Adicionando com 'array_push'Removendo com 'array_pop'Adicionando com 'array_unshift'Removendo com 'array_shift'Mesclando Arrays IndexadosMesclando Arrays AssociativosExtraindo com 'array_slice'Valores com 'in_array'Chaves com 'array_search'Recapitulação: Exercício de Playlist3Ordenação de Arrays
Ordenar Arrays Indexados (Crescente)Ordenar Arrays Indexados (Decrescente)Ordenar Arrays Associativos por ValorOrdenar Arrays Associativos por ChaveOrdenação por Ordem NaturalOrdenação Personalizada com 'usort'Recapitulação: Ordenação de Leaderboard