私はNレベルの深さにすることができる多次元配列を持っています。私は最終的な配列(以下の例ではレベル2)を操作したいと思います。キー 'a'を見つけると、再帰関数の最後の配列です。深さが未知のPHP編集多次元配列
は私がに再帰関数を書くことができます「a」と「b」
の値を使用して計算されます「C」と「C」の値を言い、この配列に新しいキーを追加したいです配列をループしても問題ありませんが、新しいキー 'c'とデータを最終配列に戻す方法がわかりません。
Array
(
[level1] => Array
(
[level2_a] => Array
(
[a] => 786578
[b] => 34450
),
[level2_b] => Array
(
[a] => 786578
[b] => 34450
)
)
)
私は以下を試しましたが、新しいデータを返すことはできません。単純に元の配列を返します。
function calculateAverages(&$arr,$key) {
if (is_array($arr)) {
if (in_array('a',array_keys($arr))) {
//add new data to this array
}else {
foreach($arr as $key => $data) {
calculateAverages($data,$key);
}
}
}
}
あなたは正しい –