Home >Backend Development >PHP Problem >How to sum three-dimensional arrays in php

How to sum three-dimensional arrays in php

PHPz
PHPzOriginal
2023-04-26 10:21:27636browse

In PHP, array is a very important data type that can be used to save a list of values. In order to process data more flexibly, it is sometimes necessary to use three-dimensional arrays. However, processing three-dimensional arrays may be difficult. In this article, we will discuss how to sum three-dimensional arrays in PHP.

First, we need to understand the structure of the three-dimensional array. In PHP, a three-dimensional array is composed of multiple two-dimensional arrays. Each two-dimensional array is composed of multiple one-dimensional arrays. Therefore, the structure of a three-dimensional array can be expressed as:

array(
    array(
        array(),
        array(),
        ...
    ),
    array(
        array(),
        array(),
        ...
    ),
    ...
)

In practical applications, three-dimensional arrays are usually used to store data containing multiple attributes, such as a student's performance record. At this time, the three-dimensional array can be expressed as:

array(
    array(
        array('name' => 'Tom', 'math' => 80, 'english' => 90),
        array('name' => 'Jack', 'math' => 85, 'english' => 95),
        ...
    ),
    array(
        array('name' => 'Mary', 'math' => 90, 'english' => 95),
        array('name' => 'John', 'math' => 75, 'english' => 80),
        ...
    ),
    ...
)

Next, we will introduce two methods to perform sum operations on PHP three-dimensional arrays.

Method 1: Use a loop to traverse the array

The most direct method is to use a loop to traverse the array, and then add the value of each element. The specific steps are as follows:

  1. Use two nested foreach loops to traverse the two-dimensional array and the one-dimensional array respectively.
  2. For each one-dimensional array, use a for loop to iterate through all its elements.
  3. Accumulate the value of each element into a variable.
  4. The final variable obtained is the summation result.

The sample code is as follows:

$sum = 0;
foreach ($array as $arr2) {
    foreach ($arr2 as $arr1) {
        for ($i = 0; $i < count($arr1); $i++) {
            $sum += $arr1[$i];
        }
    }
}
echo $sum;

In the above code, $array represents the three-dimensional array to be summed, and $sum represents the summation result. It should be noted that since each element in the three-dimensional array is a one-dimensional array, you need to use the count function to obtain the number of elements.

Method 2: Recursively traverse the array

In addition to using a loop to traverse the array, you can also use recursive traversal of the array to implement the sum operation. The specific steps are as follows:

  1. Define a recursive function sum_array, which accepts a multi-dimensional array and an accumulator as parameters, where the default value of the accumulator is 0.
  2. Traverse each element in the array. If the element is still an array, call the sum_array function recursively and add its return value to the accumulator.
  3. If the element is of numeric type, add its value to the accumulator.
  4. Finally returns the value of the accumulator.

The sample code is as follows:

function sum_array($arr, $sum = 0) {
    foreach ($arr as $value) {
        if (is_array($value)) {
            $sum = sum_array($value, $sum);
        } else {
            $sum += $value;
        }
    }
    return $sum;
}

echo sum_array($array);

In the above code, $array represents the three-dimensional array to be summed. This method implements recursive traversal of the array and adds each element to obtain the summation result.

Summary

This article introduces two methods to sum three-dimensional arrays in PHP. The first method is to use a loop to traverse the array and add the values ​​of each element to get the summation result; the second method is to use recursion to traverse the array and add each element to get the summation result. Both methods have their own advantages and disadvantages, and you can choose the appropriate method to implement the summation operation of three-dimensional arrays according to the actual situation.

The above is the detailed content of How to sum three-dimensional arrays in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn