ホームページ > バックエンド開発 > PHPチュートリアル > PHP の array_walk_recursive() 関数を使用して、多次元配列の各要素に対してコールバック関数を実行します。

PHP の array_walk_recursive() 関数を使用して、多次元配列の各要素に対してコールバック関数を実行します。

WBOY
リリース: 2023-11-04 13:26:01
オリジナル
569 人が閲覧しました

PHP の array_walk_recursive() 関数を使用して、多次元配列の各要素に対してコールバック関数を実行します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート