Menu
Coddy logo textTech

Desafio: Filtro de Itens Únicos

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

challenge icon

Desafio

Fácil

Você receberá uma única entrada: uma string de itens separados por vírgulas que pode conter duplicatas.

A entrada será uma string neste formato: apple,banana,apple,orange,banana,grape,apple

Leia a string de entrada e divida-a em um array de itens. Use array_filter() com uma função de callback personalizada para remover itens duplicados, mantendo apenas a primeira ocorrência de cada item único.

Para fazer isso, crie uma função de callback que rastreie quais itens já foram vistos. O callback deve retornar true para itens encontrados pela primeira vez e false para duplicatas. Você pode usar uma variável fora do callback e capturá-la por referência com use (&$seen) para que as atualizações persistam entre as chamadas que o array_filter faz ao callback.

Após a filtragem, imprima cada item único em uma linha separada, na ordem em que apareceram pela primeira vez na entrada original.

Formato de entrada:

  • Uma única linha contendo itens separados por vírgulas (exemplo: apple,banana,apple,orange)

Saída esperada: Cada item único impresso em uma linha separada, na ordem de sua primeira aparição na entrada

Experimente você mesmo

<?php
// Ler a entrada
$input = trim(fgets(STDIN));

// Dividir a entrada em um array
$items = explode(',', $input);

// TODO: Escreva seu código abaixo
// Use array_filter() com uma função de callback personalizada para remover duplicatas


// Exibir cada item único em uma linha separada

?>

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

Pratique por conta própria: Compilador de PHP online