2010-12-05 14 views
1

これはかなり簡単な質問ですが、私はどこでも答えを見つけることができません。 colorsredの値が含まれているかどうかを判断するために$array上で検索を実行するにはどうすればよい多次元配列の値の検索PHP

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

ありがとうございます。

答えて

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']);