Menu
Coddy logo textTech

Check if Key Exists

Coddy PHP 여정의 기초 섹션에 포함된 레슨 — 71개 중 45번째.

연관 배열을 다룰 때, 특정 키가 존재하는지 확인한 후에 그 값을 접근하려고 시도해야 할 때가 많습니다. 존재하지 않는 키에 접근하려 하면 오류가 발생할 수 있으므로, PHP는 안전하게 확인할 수 있도록 array_key_exists() 함수를 제공합니다.

<?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";
}
?>

이 함수는 찾으려는 키와 검색할 배열이라는 두 개의 인수를 받습니다. 키가 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 이는 조건문에서 사용하기에 완벽합니다.

이 확인은 데이터가 불완전할 수 있는 경우—예를 들어 사용자 입력이나 외부 소스의 데이터—에서 특히 유용합니다. 여기서 예상되는 모든 키가 존재한다고 보장할 수 없습니다.

challenge icon

챌린지

쉬움

JSON 객체를 포함하는 입력 한 줄을 읽으세요. 이 JSON 객체는 사용자 데이터를 나타냅니다 (예: {"username": "john_doe", "email": "john@example.com", "age": 28}).

그 다음 두 개의 추가 입력을 읽으세요:

  • 문자열 key1 - 확인할 첫 번째 키
  • 문자열 key2 - 확인할 두 번째 키

JSON 입력으로부터 연관 배열을 생성한 후, 다음을 수행하세요:

  1. 배열에 key1이 존재하는지 확인하세요. 존재하면 해당 키와 연결된 값을 출력하세요. 존재하지 않으면 Key not found를 출력하세요.
  2. 배열에 key2이 존재하는지 확인하세요. 존재하면 해당 키와 연결된 값을 출력하세요. 존재하지 않으면 Key not found를 출력하세요.

각 결과를 별도의 줄에 출력하세요.

예제:

입력값이 {"username": "john_doe", "email": "john@example.com", "age": 28}, username, 그리고 phone인 경우, 출력은 다음과 같아야 합니다:

john_doe
Key not found

입력값이 {"title": "Manager", "department": "Sales"}, salary, 그리고 department인 경우, 출력은 다음과 같아야 합니다:

Key not found
Sales

치트 시트

array_key_exists()를 사용하여 접근하기 전에 연관 배열에서 특정 키가 존재하는지 확인하세요:

<?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";
}
?>

이 함수는 검색할 키와 배열 두 개의 인수를 받습니다. 키가 존재하면 true, 그렇지 않으면 false를 반환합니다.

직접 해보기

<?php
// JSON 입력을 읽기
$jsonInput = trim(fgets(STDIN));
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));

// JSON을 연관 배열로 변환
$userData = (array)json_decode($jsonInput, true);

// TODO: 아래에 코드를 작성하세요
// key1이 존재하는지 확인하고 값 또는 "Key not found"를 출력하세요

// key2이 존재하는지 확인하고 값 또는 "Key not found"를 출력하세요

?>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨