2010-12-05 4 views
1

매우 쉬운 질문 인 것처럼 느껴지지만 어디서나 대답을 찾을 수 없습니다.값을위한 다차원 배열 검색 PHP

$array = ('colors' => array('red','orange'), 
      'numbers'=> array('one','two') 
     ); 

는 어떻게이 colorsred의 값이 포함되어 있는지 확인하려면 $array에서 검색을 수행 할 수 있습니까?

미리 감사드립니다.

답변

3

배열 기능 내장에는이 작업을 수행 할 수 없습니다. 주어진 경우에 가장 간단한 방법은 다음과 같습니다.

$hasRed = (isset($array['colors'] && in_array('red', $array['colors'])); 
0

이 시도 :

array_search("red", $array[ "colors" ]) 
+0

정확히 내가 시도한 바가 있지만 내 응용 프로그램에서 작동하지 않는 것 같습니다 ... 물론 부울을 반환하지 않는 한 ... 내 코드는'if (! array_search ("red", $ array [ "colors"])) {}'그러나 작동하지 않습니다 –

+0

그게 빨간색 키가 있는지 알려줍니다. – prodigitalson

+1

@Dave : 첫 번째 요소 인 경우 잘, if 문에서 false로 평가되는'0'을 반환합니다. if (false! == array_search ('red', $ array [ 'colors'])'배열 검색을 사용한다면, 당신이 필요로하지 않는 한 내 대답에서'in_array'을 추천 한 이유입니다. 열쇠가 붉은 색인지 알기 위해서. – prodigitalson

2

가장 간단한 방법은 다음과 같습니다.

$hasRed = isset($array['colors']['red']);