
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 サイトの他の関連記事を参照してください。