Menu
Coddy logo textTech

키 존재 여부 확인

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

이 함수는 두 개의 인수를 받습니다. 찾고 있는 key와 검색할 array입니다. key가 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 따라서 조건문에서 사용하기에 안성맞춤입니다.

이 검사는 모든 예상되는 key가 존재한다고 보장할 수 없는 user input이나 외부 소스의 data처럼 불완전할 수 있는 data를 다룰 때 특히 유용합니다.

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 컴파일러