Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP array_search() 함수 완벽 정리 – 배열에서 값 검색 후 키 반환하기

PHP의 array_search() 함수는 배열 안에서 지정한 값을 검색하고, 해당 값이 위치한 키(key)를 반환하는 함수입니다. 값을 찾으면 그 키를 반환하며, 찾지 못하면 FALSE를 반환합니다. 만약 같은 값이 배열에 여러 번 존재한다면, 가장 먼저 일치하는 첫 번째 키가 반환됩니다.

문법(Syntax)

array_search(val, arr, strict)

매개변수(Parameters)

  • val − 배열에서 검색할 값입니다.

  • arr − 검색 대상이 되는 배열입니다.

  • strictTRUE 또는 FALSE 값을 가집니다. TRUE로 설정하면 값뿐만 아니라 자료형까지 완전히 일치하는(===) 요소만 검색합니다.

반환값(Return)

값을 찾으면 해당 값의 키를 반환하고, 찾지 못하면 FALSE를 반환합니다. 동일한 값이 배열에 여러 개 있을 경우에는 첫 번째로 일치하는 키가 반환됩니다.

예제 1

연관 배열에서 특정 값을 검색하는 예제입니다.

<?php
$arr = array("p"=>20,"q"=>20,"r"=>30,"s"=>40);
echo array_search(20,$arr,true);
?>

출력 결과

p

값 20은 키 "p"와 "q"에 모두 존재하지만, strict 모드에서 가장 먼저 발견된 키인 p가 반환됩니다.

예제 2

일반 인덱스 배열에서 숫자 값을 검색하는 예제입니다.

<?php
$arr = array(30, 2, 5, 7, 90, 35, 78);
echo array_search(35,$arr,true);
?>

출력 결과

5

값 35는 인덱스 5번 위치에 있으므로 5가 반환됩니다.

예제 3

문자열 값을 가진 배열에서 검색하는 예제입니다.

<?php
$arr = array("MAC", "WINDOWS","LINUX", "SOLARIS");
$search = "WINDOWS";
echo array_search($search,$arr,true);
?>

출력 결과

1

"WINDOWS"는 인덱스 1번 위치에 있으므로 1이 반환됩니다.

정리

array_search()는 배열에서 특정 값을 찾아 그 키를 알고 싶을 때 유용한 함수입니다. 특히 strict 매개변수를 TRUE로 설정하면 자료형까지 비교하므로, 0"0"처럼 형 변환 시 혼동될 수 있는 값을 다룰 때 더욱 안전하게 사용할 수 있습니다.