array_key_exists()
함수
array_key_exists()
함수는
배열에서 특정 키(인덱스)가 있는지 확인합니다.
확인하려는 키가 배열 안에 존재하면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
array_key_exists()
함수는 배열의 특정한 하나의 키만을 확인할 수 있지만,
반복문를 활용하면 배열의 여러 개의 키(multiple keys)을 확인할 수 있습니다.
array_key_exists()
함수의 형식은 다음과 같습니다.
구문
매개변수
$key |
필수. 배열에서 찾고자(확인하려고) 하는 키을 나타냅니다. |
---|---|
$array |
필수. 검색을 수행할 배열을 나타냅니다. |
반환 값
확인하려는 키가 배열 안에 존재하면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
예시 사용법
위 예제에서 array_key_exists('Bob', $studentScores)
는 $studentScores
배열 내에서 'Bob'
이라는 키가 존재하기 때문에 true
를 반환합니다. 따라서 "Bob의 점수가 배열에 존재합니다."가 출력됩니다.
반복문을 활용해서 배열의 여러 개의 키를 확인하기
array_key_exists()
함수는 배열에서 단일 키를 찾는 데에 사용되기 때문에,
여러 개의 키를 동시에 찾기 위해서 foreach()
반복문과 array_key_exists()
함수를 함께 사용하면 유용합니다.
위의 예제에서는 array_key_exists()
함수를 이용하여 $myArray
배열에서 $keysToCheck
배열에 담긴 각각의 키를 확인하고 해당 키가 존재하는지 여부를 출력합니다. 루프를 통해 여러 개의 키를 한 번에 확인할 수 있습니다.
참고로, PHP 5.6 이상부터는 array_key_exists()
대신 isset()
함수를 사용하여도 동일한 결과를 얻을 수 있습니다. 예를 들면 다음과 같습니다.
array_key_exists()
와 isset()
두 함수는 배열에서 특정 키가 존재하는지 확인하는 데 사용됩니다. 하지만, isset()
함수는 변수의 존재 여부도 함께 확인하기 때문에 약간의 성능 차이가 있을 수 있습니다. 여러 키를 확인할 때에는 성능 차이가 크게 나지 않으므로 편한 방법을 선택하여 사용하시면 됩니다.
유용한 사례
PHP의 array_key_exists()
함수는 배열에서 특정 키가 존재하는지 여부를 확인하는 데 유용하게 활용될 수 있습니다. 다음은 몇 가지 유용한 사례들입니다.
다차원 배열에서 키 확인
다차원 배열에서 중첩된 키가 존재하는지 확인할 수 있습니다. 이는 설정 파일이나 데이터 구조에서 특정 설정 값이 존재하는지 확인하는 데 유용합니다.
다국어 어플리케이션
다국어 어플리케이션에서 언어에 따라 다른 메시지를 출력해야 할 때, 해당 언어의 키가 존재하는지 확인하여 처리할 수 있습니다.
위 예제에서 $selectedLanguage
가 'ko'
로 설정되어 있으므로, 한국어로 "안녕하세요"가 출력됩니다.
이처럼 array_key_exists()
함수는 배열에서 특정 키가 존재하는지 여부를 빠르고 간편하게 확인하는 데 유용합니다. 다양한 상황에서 사용하여 데이터의 유효성을 검증하고 로직을 구성할 수 있습니다.
같이 보기
- PHP in_array() 함수 - 배열에 특정 값이 있는지 확인
- PHP array_keys() 함수 – 배열 키 목록 가져오기
- PHP isset() 함수와 empty() 함수 – 개념 정리 및 사용법과 차이점
- PHP array_search() 함수 – 개념 정리 및 사용 예제
- PHP array_values() 함수 – 배열 값 목록 가져오기
- PHP array_diff() 함수 - 다른 배열에 없는 값 찾기
- PHP array_diff_assoc() 함수 - 키를 기준으로 다른 배열에 없는 값 찾기
- PHP array_intersect() 함수 - 다른 배열과의 공통 값 찾기
- PHP array_intersect_assoc() 함수 - 키와 값을 기준으로 다른 배열과의 공통 요소 찾기