PHP의 in_array() 함수는 특정 값이 배열 안에 존재하는지 확인하는 데 사용되는 내장 함수입니다. 배열에서 원하는 값을 검색할 때 매우 유용하며, 검색 결과에 따라 불리언(Boolean) 값을 반환합니다.
문법(Syntax)
in_array(find, arr, type)
매개변수(Parameters)
find − 배열에서 찾고자 하는 검색값입니다.
arr − 검색 대상이 되는 배열입니다.
type − 검색 방식을 지정하는 선택적 매개변수입니다. 이 값을 TRUE로 설정하면 값뿐만 아니라 데이터 타입까지 일치해야만 일치로 판단합니다(엄격한 비교). 기본값은 FALSE이며, 이 경우 느슨한 비교가 수행됩니다.
반환값(Return)
in_array() 함수는 지정한 값이 배열에서 발견되면 TRUE를 반환하고, 발견되지 않으면 FALSE를 반환합니다.
예제 1: 기본 사용법
다음은 in_array() 함수의 기본적인 사용 예제입니다.
<?php
$stu = array("Tom", "Amit", "Peter", "Rahul");
if (in_array("Amit", $stu)) {
echo "Match!";
} else {
echo "No Match!";
}
?>출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Match!
예제 2: 엄격한 타입 비교(TRUE 옵션)
세 번째 매개변수에 TRUE를 전달하면 값과 데이터 타입이 모두 일치해야 합니다. 다음 예제를 확인해 보세요.
<?php
$pro = array("Tom", "Amit", "Peter", "Rahul", 5, 10);
if (in_array(5, $pro, TRUE)) {
echo "Match!";
} else {
echo "No Match!";
}
?>출력 결과
배열에 정수형(int) 값 5가 포함되어 있으므로 아래와 같은 결과가 출력됩니다.
Match!
정리
in_array() 함수는 배열 내 값 존재 여부를 빠르게 확인할 수 있는 간편한 방법입니다. 특히 세 번째 매개변수인 type을 활용하면 타입까지 엄격하게 비교할 수 있어, 예상치 못한 타입 변환으로 인한 오류를 방지할 수 있습니다. 문자열 "5"와 정수 5를 구분해야 하는 상황이라면 반드시 TRUE 옵션을 사용하는 것이 좋습니다.