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 객체가 포함된 한 줄의 입력을 읽습니다 (예: {"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

직접 해보기

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

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

// TODO: 아래에 코드를 작성하세요
// key1이 존재하는지 확인하고 값을 출력하거나 지침의 정확한 텍스트를 출력합니다

// key2가 존재하는지 확인하고 값을 출력하거나 지침의 정확한 텍스트를 출력합니다

?>
quiz icon실력 점검

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

기초의 모든 레슨

직접 연습해 보세요: 온라인 PHP 컴파일러