Check if Key Exists
Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 45 de 71.
Al trabajar con arrays asociativos, a menudo necesitarás verificar si existe una clave específica antes de intentar acceder a su valor. Intentar acceder a una clave inexistente puede causar errores, por lo que PHP proporciona la función array_key_exists() para verificar de forma segura primero.
<?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";
}
?>La función toma dos argumentos: la clave que estás buscando y el array en el que buscar. Devuelve true si la clave existe, y false en caso contrario. Esto la hace perfecta para usar en sentencias condicionales.
Esta comprobación es especialmente útil al trabajar con datos que podrían estar incompletos —como las entradas de usuario o los datos de fuentes externas— donde no puedes garantizar que todas las claves esperadas estén presentes.
Desafío
FácilLee una línea de entrada que contiene un objeto JSON que representa datos de usuario (por ejemplo, {"username": "john_doe", "email": "john@example.com", "age": 28}).
Después lee dos entradas más:
- Una cadena
key1- la primera clave a verificar - Una cadena
key2- la segunda clave a verificar
Crea un array asociativo a partir de la entrada JSON, después:
- Comprueba si
key1existe en el array. Si existe, imprime el valor asociado a ella. Si no, imprimeKey not found. - Comprueba si
key2existe en el array. Si existe, imprime el valor asociado a ella. Si no, imprimeKey not found.
Imprime cada resultado en una línea separada.
Ejemplo:
Si las entradas son {"username": "john_doe", "email": "john@example.com", "age": 28}, username, y phone, la salida debería ser:
john_doe
Key not foundSi las entradas son {"title": "Manager", "department": "Sales"}, salary, y department, la salida debería ser:
Key not found
SalesPruébalo tú mismo
<?php
// Lee la entrada JSON
$jsonInput = trim(fgets(STDIN));
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
// Convierte JSON a array asociativo
$userData = (array)json_decode($jsonInput, true);
// TODO: Escribe tu código debajo
// Comprueba si key1 existe e imprime el valor o el texto exacto de las instrucciones
// Comprueba si key2 existe e imprime el valor o el texto exacto de las instrucciones
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic7Arrays Part 2 - Associative
Intro to Associative ArraysAccessing Values by KeyModifying Values by KeyAdding New Key-Value PairsCheck if Key ExistsRecap - Key-Value Data Store2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString OperatorsPractica por tu cuenta: Compilador de PHP online