插件窝 干货文章 php中三维数组怎样求和

php中三维数组怎样求和

数组 三维 subArray 遍历 116    来源:    2025-03-18

在PHP中,三维数组的求和可以通过嵌套循环来实现。假设你有一个三维数组 $array,你可以使用以下代码来计算所有元素的总和:

<?php
$array = [
    [
        [1, 2, 3],
        [4, 5, 6]
    ],
    [
        [7, 8, 9],
        [10, 11, 12]
    ]
];

$sum = 0;

// 遍历三维数组
foreach ($array as $subArray1) {
    foreach ($subArray1 as $subArray2) {
        foreach ($subArray2 as $value) {
            $sum += $value;
        }
    }
}

echo "三维数组的总和是: " . $sum;
?>

代码解释:

  1. 外层循环:遍历第一维数组。
  2. 中层循环:遍历第二维数组。
  3. 内层循环:遍历第三维数组,并将每个元素的值累加到 $sum 变量中。

输出结果:

三维数组的总和是: 78

注意事项:

  • 如果数组的维度不固定(例如某些子数组可能缺少某些维度),你需要在循环中添加额外的检查来避免错误。
  • 如果数组中有非数值类型的元素,可能会导致求和结果不准确或出现错误。在这种情况下,你可以在累加之前使用 is_numeric() 函数来检查元素是否为数值类型。

示例代码(带检查):

<?php
$array = [
    [
        [1, 2, 3],
        [4, 5, 6]
    ],
    [
        [7, 8, 9],
        [10, 11, 12]
    ]
];

$sum = 0;

foreach ($array as $subArray1) {
    foreach ($subArray1 as $subArray2) {
        foreach ($subArray2 as $value) {
            if (is_numeric($value)) {
                $sum += $value;
            }
        }
    }
}

echo "三维数组的总和是: " . $sum;
?>

这样可以确保在求和时只处理数值类型的元素。