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 객체가 포함된 한 줄의 입력을 읽습니다 (예: {"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가 존재하는지 확인하고 값을 출력하거나 지침의 정확한 텍스트를 출력합니다
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
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직접 연습해 보세요: 온라인 PHP 컴파일러