2016-12-25 15 views
1

多値配列のキー値をチェックし、その親配列の別のキー値を出力したいと考えています。これはちょっと混乱するかもしれません。しかし、以下の例では明らかにすることができます。私はこのような配列を持っています。多次元配列のチェック条件

Entity Response : Array 
(
[0] => Array 
    (
     [type] => FieldTerminology 
     [relevance] => 0.709023 
     [count] => 4 
     [text] => domain name 
    ) 

[1] => Array 
    (
     [type] => Company 
     [relevance] => 0.603375 
     [count] => 2 
     [text] => Laravel 
    ) 

[2] => Array 
    (
     [type] => Person 
     [relevance] => 0.548389 
     [count] => 1 
     [text] => M. Naveen Kumar 
    ) 

私はその後、私はkey[text]のその値を取得したい、任意の配列はkey [type]とそのvalue = "Person"を持っているかどうかを確認します。この場合、M. Naveen Kumarを印刷したいと思います。Naveen Kumar

答えて

0

アレイをトラバースして見つけることができます。 foreach()、array_walk()などを使用できます。

$o = []; 
array_walk($array, function($v) use(&$o){$v['type'] == 'Person' ? $o[] = $v['text'] : '';}); 
var_dump($o); 
0

ステップによって、この作業ステップをどのようにこの

$people = array_filter($array, function($each) { return $each['type'] == 'Person'; }); 
$names = array_map(function($each) { return $each['name']; }, $people); 

を試してみてください?

  • フィルタ次いでarray_filter
  • を使用してタイプによってアレイが使用して名前にマッピングarray_map