Menu
Coddy logo textTech

Check if Key Exists

Parte da seção Fundamentos do Journey de PHP da Coddy — lição 45 de 71.

Quando você trabalha com arrays associativos, muitas vezes precisa verificar se uma chave específica existe antes de tentar acessar seu valor. Tentar acessar uma chave inexistente pode causar erros, por isso o PHP fornece a função array_key_exists() para verificar com segurança primeiro.

<?php
$person = [
    "name" => "Alice",
    "age" => 25
];

if (array_key_exists("name", $person)) {
    echo "Name exists!";
}

if (array_key_exists("city", $person)) {
    echo "City exists!";
} else {
    echo "City not found";
}
?>

A função recebe dois argumentos: a chave que você está procurando e o array para pesquisar. Ela retorna true se a chave existir, e false caso contrário. Isso a torna perfeita para uso em declarações condicionais.

Esta verificação é especialmente útil ao lidar com dados que podem estar incompletos — como entrada do usuário ou dados de fontes externas — onde você não pode garantir que todas as chaves esperadas estejam presentes.

challenge icon

Desafio

Fácil

Leia uma linha de entrada contendo um objeto JSON representando dados do usuário (ex.: {"username": "john_doe", "email": "john@example.com", "age": 28}).

Então leia mais duas entradas:

  • Uma string key1 - a primeira chave a verificar
  • Uma string key2 - a segunda chave a verificar

Crie um array associativo a partir da entrada JSON, então:

  1. Verifique se key1 existe no array. Se existir, imprima o valor associado a ele. Caso contrário, imprima Key not found.
  2. Verifique se key2 existe no array. Se existir, imprima o valor associado a ele. Caso contrário, imprima Key not found.

Imprima cada resultado em uma linha separada.

Exemplo:

Se as entradas forem {"username": "john_doe", "email": "john@example.com", "age": 28}, username e phone, a saída deve ser:

john_doe
Key not found

Se as entradas forem {"title": "Manager", "department": "Sales"}, salary e department, a saída deve ser:

Key not found
Sales

Folha de consulta

Use array_key_exists() para verificar se uma chave específica existe em um array associativo antes de acessá-la:

<?php
$person = [
    "name" => "Alice",
    "age" => 25
];

if (array_key_exists("name", $person)) {
    echo "Name exists!";
}

if (array_key_exists("city", $person)) {
    echo "City exists!";
} else {
    echo "City not found";
}
?>

A função recebe dois argumentos: a chave a ser pesquisada e o array. Ela retorna true se a chave existir, false caso contrário.

Experimente você mesmo

<?php
// Lê a entrada JSON
$jsonInput = trim(fgets(STDIN));
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));

// Converte JSON para array associativo
$userData = (array)json_decode($jsonInput, true);

// TODO: Escreva seu código abaixo
// Verifique se key1 existe e imprima o valor ou "Key not found"

// Verifique se key2 existe e imprima o valor ou "Key not found"

?>
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 Fundamentos