2017-11-27 17 views
-2

私はこの配列を持っている:サブ多次元配列でどのように値を見つけることができますか?

Array ([0] => Array ([asset] => track [path] => media/promenade_web/AUDIO/promenade-arkadiev.mp3 [file_name] => promenade-arkadiev [permission_audio_play_synchronization] => Array ([synchronization] => Array ([constraint] => Array ([numberOfMeasures] => Array ([startMeasure] => 1 [number] => 10) [qualityOfResource] => medium) [requirement] => Array () [condition] => Array ()) [play] => Array ([constraint] => Array ([numberOfMeasures] => Array ([startMeasure] => 1 [number] => 10) [qualityOfResource] => medium [spatial] => iso3166:CH,IT [count] => 10 [datetime] => Array ([start] => 2017-08-16 [end] => 2017-10-20) [accumulated] => P30D [format] => mp3,wav) [requirement] => Array () [condition] => Array ()))) [1] => Array ([asset] => track [path] => media/promenade_web/AUDIO/promenade-arkadiev_lo.mp3 [file_name] => promenade-arkadiev_lo [permission_audio_play_synchronization2] => Array ([play] => Array ([constraint] => Array ([numberOfMeasures] => Array ([startMeasure] => 1 [number] => 10) [qualityOfResource] => medium [spatial] => iso3166:CH,IT [count] => 10 [datetime] => Array ([start] => 2017-08-16 [end] => 2017-10-20) [accumulated] => P30D [format] => mp3,wav) [requirement] => Array ([prepay] => Array ([amount] => 0.99 [currency] => EUR)) [condition] => Array ())))) 

がどのように関係なく、サブアレイの数のforeachと値を、見つけることができます ?私はこのコードを試してみたが、それは動作しません

function recursive_array_search($needle, $haystack, $currentKey = '') { 
    foreach($haystack as $key=>$value) { 
     if (is_array($value)) { 
      $nextKey = recursive_array_search($needle,$value, $currentKey . '[' . $key . ']'); 
      if ($nextKey) { 
       return $nextKey; 
      } 
     } 
     else if($value==$needle) { 
      return is_numeric($key) ? $currentKey . '[' .$key . ']' : $currentKey; 
     } 
    } 
    return false; 
} 
+1

で次のように使用しますが、実際にそこから取得しようとしているもの? –

+0

私は配列内に 'qualityOfresurce'値を取得しようとしています。 –

+0

そのキーのインスタンスが複数存在します。あなたはそれらをすべて手に入れようとしていますか?もしそうなら、彼らはエントリからの他の値と関連づけられるべきですか?そうでない場合は、特定のものを取得しようとしていますか?どれ? –

答えて

0

私はいつも、多次元配列

$arr = array(array('id'=>1,'name'=>'nilesh'),array('id'=>2,'name'=>'ajay')); 
    echo "<pre>"; 
    print_r($arr[array_search('nilesh', array_column($arr,'name'))]); 
    echo "</pre>"; 
関連する問題