ホームページ  >  記事  >  バックエンド開発  >  2 つの 2 次元配列の PHP の合計

2 つの 2 次元配列の PHP の合計

PHPz
PHPzオリジナル
2023-05-19 18:32:371120ブラウズ

PHP 開発では、配列を操作する必要があることがよくあり、合計演算も一般的です。合計する必要がある 2 つの 2 次元配列に遭遇した場合、次の方法でそれを行うことができます。

方法 1: ループを使用して各要素を走査し、1 つずつ加算および合計します。

サンプル コードは次のとおりです:

<?php
$array1 = array(
  array(1, 2, 3),
  array(4, 5, 6),
);

$array2 = array(
  array(7, 8, 9),
  array(10, 11, 12),
);

$rows = count($array1);
$cols = count($array1[0]);

$result = array();

for ($i = 0; $i < $rows; ++$i) {
  for ($j = 0; $j < $cols; ++$j) {
    $result[$i][$j] = $array1[$i][$j] + $array2[$i][$j];
  }
}

print_r($result);
?>

出力結果:

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

    [1] => Array
        (
            [0] => 14
            [1] => 16
            [2] => 18
        )

)

方法 2: array_map() 関数を使用して各要素を加算および合計することで、コード量。

サンプル コードは次のとおりです。

<?php
$array1 = array(
  array(1, 2, 3),
  array(4, 5, 6),
);

$array2 = array(
  array(7, 8, 9),
  array(10, 11, 12),
);

$result = array_map(function ($a, $b) {
  return array_map(function ($x, $y) {
    return $x + $y;
  }, $a, $b);
}, $array1, $array2);

print_r($result);
?>

出力結果:

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

    [1] => Array
        (
            [0] => 14
            [1] => 16
            [2] => 18
        )

)

方法 3: array_reduce() 関数を使用して、2 次元配列の要素を合計します。

サンプルコードは以下のとおりです:

<?php
$array1 = array(
  array(1, 2, 3),
  array(4, 5, 6),
);

$array2 = array(
  array(7, 8, 9),
  array(10, 11, 12),
);

$result = array_map(function ($a) {
  return array_reduce($a, function ($x, $y) {
    return $x + $y;
  });
}, array_map(null, $array1, $array2));

print_r($result);
?>

出力結果:

Array
(
    [0] => 8
    [1] => 10
    [2] => 12
    [3] => 14
    [4] => 16
    [5] => 18
)

上記の 3 つの方法は、実際のニーズや数式、関数などの詳細に応じて選択できます。必要に応じてループなどを追加でき、さまざまなコンピューティングのニーズに対応します。

以上が2 つの 2 次元配列の PHP の合計の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。