Verificando se a Chave Existe
Parte da seção Fundamentos do Journey de PHP da Coddy. Lição 45 de 71.
Ao trabalhar com arrays associativos, você frequentemente precisará verificar se uma chave específica existe antes de tentar acessar seu valor. Tentar acessar uma chave inexistente pode causar erros, então o PHP fornece a função array_key_exists() para fazer essa verificação 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 no qual pesquisar. Ela retorna true se a chave existir e false caso contrário. Isso a torna perfeita para uso em instruções condicionais.
Essa verificação é especialmente útil ao lidar com dados que podem estar incompletos, como a entrada do usuário ou dados de fontes externas, quando não é possível garantir que todas as chaves esperadas estejam presentes.
Desafio
FácilLeia uma linha de entrada contendo um objeto JSON que representa dados de usuário (por exemplo, {"username": "john_doe", "email": "john@example.com", "age": 28}).
Em seguida, 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 e, então:
- Verifique se
key1existe no array. Se existir, imprima o valor associado a ela. Caso contrário, imprimaKey not found. - Verifique se
key2existe no array. Se existir, imprima o valor associado a ela. Caso contrário, imprimaKey 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 deverá ser:
john_doe
Key not foundSe as entradas forem {"title": "Manager", "department": "Sales"}, salary e department, a saída deverá ser:
Key not found
SalesExperimente você mesmo
<?php
// Leia a entrada JSON
$jsonInput = trim(fgets(STDIN));
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
// Converta 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 o texto exato das instruções
// Verifique se key2 existe e imprima o valor ou o texto exato das instruções
?>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
4Operadores de Comparação e Lógicos
Operadores de ComparaçãoIgualdade e IdentidadeOperadores Lógicos - Parte 1Operadores Lógicos - Parte 2Revisão - Lógica Simples7Arrays Parte 2 - Associativos
Introdução a Arrays AssociativosAcessando Valores por ChaveModificando Valores por ChaveAdicionando Novos Pares Chave-ValorVerificando se a Chave ExisteRecapitulação - Armazenamento de Dados Chave-Valor2Variáveis e Tipos de Dados
NúmerosStrings e AspasBooleanosConvenções de NomenclaturaRevisão - Inicialização de VariáveisVariáveis VaziasConcatenação de StringsObtendo Entrada do UsuárioConversão para Diferentes Tipos5Lógica Condicional
Instrução IfIf - ElseO Operador TernárioOperador de Coalescência NulaInstrução SwitchRecapitulação - Tomando Decisões3Operadores Básicos
Operadores AritméticosOperador MóduloOperador de ExponenciaçãoAtribuição CombinadaIncremento/DecrementoPrecedência de OperadoresRevisão - Cálculos SimplesOperadores de StringPratique por conta própria: Compilador de PHP online