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를 반환합니다. 이는 조건문에서 사용하기에 완벽합니다.
이 확인은 데이터가 불완전할 수 있는 경우—예를 들어 사용자 입력이나 외부 소스의 데이터—에서 특히 유용합니다. 여기서 예상되는 모든 키가 존재한다고 보장할 수 없습니다.
챌린지
쉬움JSON 객체를 포함하는 입력 한 줄을 읽으세요. 이 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치트 시트
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"를 출력하세요
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic7Arrays Part 2 - Associative
Intro to Associative ArraysAccessing Values by KeyModifying Values by KeyAdding New Key-Value PairsCheck if Key ExistsRecap - Key-Value Data Store2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators