프로그램을 작성하다 보면 특정 배열에서 어떤 값이 있는지 확인을 해야 할 필요가 있을때가 있습니다.
그리고 해당 값이 들어 있는 인덱스를 가져와야 할때도 있을 수 있구요
그럴때 사용되는 함수가 in_array()함수 와 array_search() 함수입니다.
차이는 in_array()함수는 단지 해당값이 배열에 포함되어 있는지 여부는 true/false로만 반환하는 반면
array_search()함수는 해당값이 있을때 인덱스나 키값을 반환합니다.
또한 array_search()함수는 해당값이 없을때는 NULL을 반환합니다.
따라서 단지 배열에 해당값이 있는가 하는 확인만 필요할때는 in_array()함수를...
해당값이 있는지 여부와 인덱스 또는 키값이 필요할때는 array_search()함수를 사용하시면 됩니다.
먼저 in_array() 함수의 예제는 다음과 같습니다.
(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)
$array = array("asp", "jsp", "php", "java"); if(in_array("php", $array)){ echo"exist"; }else{ echo"none"; }
위의 코드에서 결과는 당연히 true이겠죠?
다음은 array_search()함수의 예제입니다.
(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)
$array = array("asp", "jsp", "php", "java"); $strIndex = array_search("php", $array); if($strIndex == ""){ echo"none"; }else{ echo"find - " . $strIndex; }
위 코드의 결과는 "find - 2" 가 됩니다.
물론 경우에 따라서 조사 대상이 되는 배열이 2차 이상의 배열 일때도 있을 수 있겠으며
다양한 상황이 될 수 있을것입니다.
이럴때는 위 두 함수의 첫번째 인수를 배열로 넣을 수 도 있으며
와 같은 함수를 위 두 함수의 조합과 함께 활용하는 방법도 있을 것입니다.
'PHP' 카테고리의 다른 글
Warning: strpos(): Offset not contained in string in 이 발생하는 경우 (0) | 2015.02.04 |
---|---|
PHP에서 배열을 정렬하는 방법 (0) | 2015.02.02 |
PHP 서버 CPU 사용 정보 가져오기 (0) | 2015.01.20 |
mktime()? time()? (0) | 2015.01.06 |
세션 관련 함수가 deprecate 되었네요. (0) | 2014.12.30 |