array_search()
함수
array_search()
함수는
배열에서 값을 검색하는 함수입니다.
검색에 성공한 경우 첫 번째 일치하는 키(인덱스)를 반환하고, 그렇지 않으면 false
를 반환합니다.
array_search()
함수의 형식은 다음과 같습니다.
구문
매개변수
$needle |
검색할 값입니다.
문자열인 경우 검색할 값의 비교는 대소문자를 구분하여 수행됩니다. |
---|---|
$haystack |
검색할 배열입니다. |
$strict |
옵션. $needle 변수의 값이 자료형까지 일치할지 여부(true , false )를 지정합니다.
만약에 $strict 변수를
|
반환 값
검색에 성공한 경우 첫 번째 일치하는 키(인덱스)를 반환하고, 그렇지 않으면 false
를 반환합니다.
반환 값 비교에 대한 주의할 점
array_search()
함수를 사용할 때 엄격한 동등 비교(===
) 연산자를 통해 반환값을 확인하세요.
다음의 예제는 엄격하지 않은 동등 비교(==
) 연산를 사용할 경우와 엄격한 동등 비교(===
) 연산자를 사용한 평가 결과에 대한 차이점을 보여주는 예제입니다.
이 예제는 array_search()
함수를 사용하여 배열에서 값을 검색하고 검색 결과를 확인하는 예제입니다. 주의해야 할 점은 두 가지 비교 방법의 차이입니다.
- 첫 번째
if
문에서는 엄격하지 않은 동등 비교(==
) 연산자를 사용하여 결과를 확인하며,false
와0
이 같은 것처럼 처리됩니다. 따라서 "찾는 값 $searchValue 가 배열 내에서 발견되지 않았습니다." 메시지가 출력됩니다. 잘못된 결과가 발생합니다. - 두 번째
if
문에서는 엄격한 동등 비교(===
) 연산자를 사용하여 결과를 확인하며, 데이터 형식과 값이 동일해야 합니다. 따라서 "찾는 값 $searchValue 가 배열 내에서 발견되지 않았습니다." 메시지가 출력되지 않습니다.
결론적으로, 엄격한 동등 비교(===
) 연산자를 사용하면 반환값을 정확하게 평가할 수 있으며 코드의 안정성을 높일 수 있습니다.
다양한 활용 사례
array_search()
함수는 주로 다음과 같은 예제의 목적으로 사용됩니다.
존재하는 값 검색
위의 코드는 배열 $numbers
에서 $searchValue
값 (여기서는 2)을 찾아서 그 값이 존재하는지 확인하는 예제입니다. array_search()
함수는 주어진 값이 배열에서 찾아진다면 해당 값을 첫 번째 위치의 키(인덱스)를 반환하고, 그렇지 않으면 false
를 반환합니다. 이 코드는 '찾는 값이 존재합니다.'라는 메시지를 출력하게 됩니다.
검색한 값 삭제 또는 변경
이 예제에서는 $targetPrice
값 (여기서는 1.00)을 찾아서 배열에서 제거하거나 값을 변경합니다. array_search()
함수는 해당 제품이 있는지 확인하며, 제품이 발견되면 삭제 또는 변경 작업을 수행합니다.
2차원 배열 검색
코드 부연설명
foreach()
반복문은 배열이나 객체를 순회해서 반복으로 처리할 때 사용하는 대표적인 구문입니다.
위의 예제에서는 2차원 배열 $students
에 대해 학생 이름을 검색하여 해당 학생의 정보를 출력합니다. array_search()
함수는 각 학생 배열 내에서 이름을 찾고, 해당 학생의 인덱스(학생 번호)를 반환합니다. 검색이 성공하면 루프를 종료하고 해당 학생의 정보를 출력합니다. 이것은 학생 관리와 데이터 검색과 같은 상황에서 유용하게 활용할 수 있는 예제입니다.
특정 값을 배열에서 찾아 그 위치를 확인
같이 보기
- PHP array_map() 함수 – 개념 정리 및 사용 예제
- PHP foreach() 반복문 사용법 및 활용 예제
- PHP array_filter() 함수 – 개념 정리 및 사용 예제
- PHP 배열 값이 있는지 확인하는 in_array() 함수
- PHP 배열 키가 있는지 확인하는 array_key_exists() 함수
- PHP array_keys() 함수 – 배열 키 목록 가져오기
- PHP array_values() 함수 – 배열 값 목록 가져오기
- PHP array_slice() 함수 - 개념 정리 및 사용 예제
- PHP array_diff() 함수 - 다른 배열에 없는 값 찾기
- PHP array_diff_assoc() 함수 - 키를 기준으로 다른 배열에 없는 값 찾기
- PHP array_intersect() 함수 - 다른 배열과의 공통 값 찾기
- PHP array_intersect_assoc() 함수 - 키와 값을 기준으로 다른 배열과의 공통 요소 찾기
- 자바스크립트 find() 함수 – 개념 정리 및 사용 예제