Menu
Coddy logo textTech

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 una clave específica existe 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 manera 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 arreglo en el que buscar. Devuelve true si la clave existe, y false en caso contrario. Esto la hace perfecta para usarla en sentencias condicionales.

Esta verificación es especialmente útil al tratar con datos que podrían estar incompletos—like user input or data from external sources—donde no puedes garantizar que todas las claves esperadas estén presentes.

challenge icon

Desafío

Fácil

Lee 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}).

Luego 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, luego:

  1. Verifica si key1 existe en el array. Si existe, imprime el valor asociado con él. Si no, imprime Key not found.
  2. Verifica si key2 existe en el array. Si existe, imprime el valor asociado con él. Si no, imprime Key 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 found

Si las entradas son {"title": "Manager", "department": "Sales"}, salary y department, la salida debería ser:

Key not found
Sales

Hoja de referencia

Usa array_key_exists() para verificar si una clave específica existe en un array asociativo antes de acceder a ella:

<?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 a buscar y el array. Devuelve true si la clave existe, false de lo contrario.

Pruébalo tú mismo

<?php
// Leer la entrada JSON
$jsonInput = trim(fgets(STDIN));
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));

// Convertir JSON a array asociativo
$userData = (array)json_decode($jsonInput, true);

// TODO: Escribe tu código a continuación
// Verifica si key1 existe e imprime el valor o "Key not found"

// Verifica si key2 existe e imprime el valor o "Key not found"

?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos