PHP の array_walk_recursive() 関数は、多次元配列内の各要素を走査し、指定されたコールバック関数を呼び出して操作することができます。この記事では、具体的なコード例を通じてこの関数の使用方法を説明します。
まず、array_walk_recursive() 関数の使用法を示すために多次元配列を作成しましょう。配列には、名前、年齢、成績などの学生情報が含まれています。コードは次のとおりです。
$students = array( array( 'name' => '张三', 'age' => 18, 'scores' => array(80, 85, 90), ), array( 'name' => '李四', 'age' => 19, 'scores' => array(75, 78, 82), ), array( 'name' => '王五', 'age' => 20, 'scores' => array(90, 95, 88), ), );
次に、学生の平均スコアを各学生の情報に追加するコールバック関数を定義します。コードは次のとおりです:
function calculateAverage(&$value, $key) { if ($key === 'scores') { $average = array_sum($value) / count($value); $value['average'] = $average; } }
上記のコールバック関数では、まず現在の要素のキーが 'scores' であるかどうかを判断します。そうであれば、生徒の平均スコアを計算し、それを生徒のスコアに追加します。配列内の情報。
最後に、array_walk_recursive() 関数を使用して多次元配列を走査し、要素ごとに定義したコールバック関数を呼び出すことができます。コードは次のとおりです。
array_walk_recursive($students, 'calculateAverage');
上記のコードを実行すると、$students 配列内の各生徒の情報に「平均」キーが追加されます。これは、生徒の平均スコアに対応します。配列を出力することで結果を確認できます。コードは次のとおりです。
print_r($students);
出力結果は次のとおりです。
Array ( [0] => Array ( [name] => 张三 [age] => 18 [scores] => Array ( [0] => 80 [1] => 85 [2] => 90 [average] => 85 ) ) [1] => Array ( [name] => 李四 [age] => 19 [scores] => Array ( [0] => 75 [1] => 78 [2] => 82 [average] => 78.33333333333333 ) ) [2] => Array ( [name] => 王五 [age] => 20 [scores] => Array ( [0] => 90 [1] => 95 [2] => 88 [average] => 91 ) ) )
各生徒の平均点が、対応する生徒情報配列に正常に追加されたことがわかります。
概要: この記事では、具体的なコード例を通じて、PHP の array_walk_recursive() 関数を使用して、多次元配列の各要素に対してコールバック関数を実行する方法を紹介します。上記の例を通じて、多次元配列を柔軟に横断および操作して、必要なさまざまな機能を実現できます。
以上がPHP の array_walk_recursive() 関数を使用して、多次元配列の各要素に対してコールバック関数を実行します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。