配列を再帰的に検索し、特定のキー「x」が発生したインスタンスの数を返すことができる PHP 関数はありますか (深さに関係なく)。
質問する
1175 次
4 に答える
0
必要なことを行う単純な再帰関数を作成できます。私はこれをテストしませんでしたが、アイデアは次のようになります。
$count = 0;
function findKey($array,&$count){
if(!empty($array)){
foreach($array as $key => $childArray){
if($key == 'keyImLookingFor'){
$count++;
}
findKey($childArray,$count);
}
}
}
$count には、キーの出現回数が含まれている必要があります。繰り返しますが、これにはいくつかのクリーンアップが必要になる場合があります。
于 2013-06-08T18:48:45.440 に答える
0
$array = array(
'key1' => 'val1',
'key2' => 'val2',
'key3' => array('key1' => 'val3'));
$count = 0;
function key_count($val, $key){
global $count;
if($key == "key1"){
$count++;
}
}
array_walk_recursive($array, 'key_count');
echo $count;
于 2013-06-08T18:51:26.840 に答える