-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;
}
で次のように使用しますが、実際にそこから取得しようとしているもの? –
私は配列内に 'qualityOfresurce'値を取得しようとしています。 –
そのキーのインスタンスが複数存在します。あなたはそれらをすべて手に入れようとしていますか?もしそうなら、彼らはエントリからの他の値と関連づけられるべきですか?そうでない場合は、特定のものを取得しようとしていますか?どれ? –