Menu
Coddy logo textTech

Chaves com 'array_search'

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

Enquanto o in_array() informa se um valor existe em um array, às vezes você precisa saber exatamente onde esse valor está localizado. A função array_search() encontra um valor específico em um array e retorna sua chave ou índice correspondente.

Veja como funciona:

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // Saída: 2
?>

A função recebe dois parâmetros: o valor que você está procurando e o array no qual pesquisar. Quando o valor é encontrado, array_search() retorna a chave (para arrays indexados, esta é a posição numérica começando em 0).

No entanto, há uma distinção importante no que é retornado. Se o valor for encontrado, você recebe a chave. Se o valor não for encontrado, a função retorna false:

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // Retorna: 2
$notFound = array_search(100, $scores); // Retorna: false
?>

Esta função é particularmente útil quando você precisa determinar a posição ou a classificação de um item, como encontrar a posição de um jogador em um ranking ou localizar o índice de um elemento específico para processamento posterior.

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 de nomes de produtos em formato JSON e um nome de produto para pesquisar. Leia ambas as entradas, converta a string JSON em um array, use array_search() para encontrar a posição do produto no array e imprima o resultado. Se o produto for encontrado, imprima sua posição de índice. Se o produto não for encontrado, imprima "Product not found".

Formato de entrada: Duas linhas - a primeira linha contém um array JSON (exemplo: ["laptop","mouse","keyboard","monitor"]), a segunda linha contém o nome do produto a ser pesquisado

Saída esperada: Ou a posição de índice numérica do produto (começando em 0) ou o texto "Product not found" se o produto não existir no array

Folha de consulta

A função array_search() encontra um valor específico em um array e retorna sua chave ou índice correspondente:

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // Outputs: 2
?>

A função recebe dois parâmetros: o valor que você está procurando e o array no qual pesquisar. Ela retorna a chave se for encontrada, ou false se não for encontrada:

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // Returns: 2
$notFound = array_search(100, $scores); // Returns: false
?>

Experimente você mesmo

<?php
// Lê a entrada do array JSON
$jsonInput = fgets(STDIN);
$products = (array)json_decode($jsonInput, true);

// Lê o nome do produto a ser pesquisado
$searchProduct = trim(fgets(STDIN));

// TODO: Escreva seu código abaixo
// Use array_search() para encontrar a posição do produto


// Exibe o resultado
echo $result;
?>
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