ホームページ > バックエンド開発 > PHPの問題 > PHP で 2D 配列の内部操作を実行する方法

PHP で 2D 配列の内部操作を実行する方法

PHPz
リリース: 2023-04-25 17:46:25
オリジナル
553 人が閲覧しました

PHP 開発では、2 次元配列は非常に一般的なデータ型です。 2 次元配列の各要素は配列であり、内部操作を通じて操作できます。この記事では、PHP で 2 次元配列の内部演算を実行する方法を紹介します。

  1. 加算演算

2次元配列の加算演算では、通常、ループを使用して配列を走査し、2 つの配列の同じ位置にある要素を加算します。配列を作成し、その結果を新しい配列に保存します。具体的なコードは次のとおりです。

// 定义两个数组
$arr1 = array(array(1,2,3), array(4,5,6), array(7,8,9));
$arr2 = array(array(9,8,7), array(6,5,4), array(3,2,1));

// 定义一个用于存储结果的数组
$result = array();

// 遍历两个数组,并将相同位置的元素相加
for($i=0; $i<count($arr1); $i++) {
    for($j=0; $j<count($arr1[$i]); $j++) {
        $result[$i][$j] = $arr1[$i][$j] + $arr2[$i][$j];
    }
}

// 输出结果
print_r($result);
ログイン後にコピー

実行結果は次のとおりです。

Array
(
    [0] => Array
        (
            [0] => 10
            [1] => 10
            [2] => 10
        )

    [1] => Array
        (
            [0] => 10
            [1] => 10
            [2] => 10
        )

    [2] => Array
        (
            [0] => 10
            [1] => 10
            [2] => 10
        )

)
ログイン後にコピー
  1. 減算演算

2次元配列の減算演算の場合、ループ達成によって配列を走査することもできます。具体的なコードは次のとおりです。

// 定义两个数组
$arr1 = array(array(1,2,3), array(4,5,6), array(7,8,9));
$arr2 = array(array(9,8,7), array(6,5,4), array(3,2,1));

// 定义一个用于存储结果的数组
$result = array();

// 遍历两个数组,并将相同位置的元素相减
for($i=0; $i<count($arr1); $i++) {
    for($j=0; $j<count($arr1[$i]); $j++) {
        $result[$i][$j] = $arr1[$i][$j] - $arr2[$i][$j];
    }
}

// 输出结果
print_r($result);
ログイン後にコピー

実行結果は次のとおりです。

Array
(
    [0] => Array
        (
            [0] => -8
            [1] => -6
            [2] => -4
        )

    [1] => Array
        (
            [0] => -2
            [1] => 0
            [2] => 2
        )

    [2] => Array
        (
            [0] => 4
            [1] => 6
            [2] => 8
        )

)
ログイン後にコピー
  1. 乗算演算

2次元配列の乗算演算の場合、配列を走査し、同じ位置にある要素を乗算する必要もあります。具体的なコードは次のとおりです。

// 定义两个数组
$arr1 = array(array(1,2,3), array(4,5,6), array(7,8,9));
$arr2 = array(array(9,8,7), array(6,5,4), array(3,2,1));

// 定义一个用于存储结果的数组
$result = array();

// 遍历两个数组,并将相同位置的元素相乘
for($i=0; $i<count($arr1); $i++) {
    for($j=0; $j<count($arr1[$i]); $j++) {
        $result[$i][$j] = $arr1[$i][$j] * $arr2[$i][$j];
    }
}

// 输出结果
print_r($result);
ログイン後にコピー

実行結果は次のとおりです。

Array
(
    [0] => Array
        (
            [0] => 9
            [1] => 16
            [2] => 21
        )

    [1] => Array
        (
            [0] => 24
            [1] => 25
            [2] => 24
        )

    [2] => Array
        (
            [0] => 21
            [1] => 16
            [2] => 9
        )

)
ログイン後にコピー
  1. 合計演算

2 次元配列の合計演算の場合、 array_merge() 関数を使用して次元配列を 1 次元配列にマージし、array_sum() 関数を使用して 1 次元配列を合計します。具体的なコードは次のとおりです。

// 定义一个二维数组
$arr = array(array(1,2,3), array(4,5,6), array(7,8,9));

// 使用array_merge()函数合并成一维数组
$arr1d = array_merge(...$arr);

// 使用array_sum()函数对一维数组进行求和
$sum = array_sum($arr1d);

// 输出结果
echo $sum;
ログイン後にコピー

実行結果は次のとおりです。

45
ログイン後にコピー
  1. 平均値

2 次元配列の平均演算の場合、また、array_merge() 関数を使用して 2 次元配列を 1 次元配列にマージし、次に array_sum() 関数を使用して 1 次元配列を合計し、配列の長さで割ることもできます。具体的なコードは次のとおりです:

// 定义一个二维数组
$arr = array(array(1,2,3), array(4,5,6), array(7,8,9));

// 使用array_merge()函数合并成一维数组
$arr1d = array_merge(...$arr);

// 使用array_sum()函数对一维数组进行求和
$sum = array_sum($arr1d);

// 求数组长度
$count = count($arr1d);

// 求平均值
$avg = $sum / $count;

// 输出结果
echo $avg;
ログイン後にコピー

実行結果は次のとおりです:

5
ログイン後にコピー

上記の例を通じて、PHP で 2 次元配列の内部操作を実行するのが非常に簡単であることがわかります。 。ループを使用して配列を走査し、配列内の要素間の加算、減算、乗算、除算などの演算や、合計や平均などの演算を実行できます。これらの操作は、2 次元配列のデータを処理するのに非常に便利です。

以上がPHP で 2D 配列の内部操作を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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