키 존재 여부 확인
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를 다룰 때 특히 유용합니다.
챌린지
쉬움사용자 데이터를 나타내는 JSON 객체가 포함된 입력 한 줄을 읽습니다(예: {"username": "john_doe", "email": "john@example.com", "age": 28}).
그런 다음 입력을 두 개 더 읽습니다:
- 문자열
key1- 확인할 첫 번째 키 - 문자열
key2- 확인할 두 번째 키
JSON 입력에서 연관 배열을 만든 다음 다음을 수행합니다:
- 배열에
key1이 존재하는지 확인합니다. 존재하면 해당 키와 연결된 값을 출력합니다. 존재하지 않으면Key not found를 출력합니다. - 배열에
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가 존재하는지 확인하고 값을 출력하거나 지침의 정확한 텍스트를 출력합니다
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 PHP 컴파일러