Home  >  Article  >  Backend Development  >  How to sum a column of an array in php

How to sum a column of an array in php

PHPz
PHPzOriginal
2023-04-25 09:05:45725browse

In PHP programming, arrays are a very commonly used data type that can be used to store a series of data, and summing a column of data in an array is often one of the required operations. Next we will introduce how to sum a column of an array in PHP.

In PHP, you can use the array_sum() function to sum all elements in an array. This function accepts an array as a parameter and returns the sum of all elements in the array. For example:

$numbers = array(1, 2, 3, 4, 5);
$sum = array_sum($numbers);
echo "数组元素总和为:$sum";

The above code will output:

数组元素总和为:15

But what if we need to sum a certain column of data in the array? PHP does not have a built-in function to directly implement this function. We need to write the code ourselves.

For example, we have a two-dimensional array $data, which contains several rows of data. Each row of data has the same data structure, as shown below:

$data = array(
    array('id' => 1, 'name' => 'Tom', 'score' => 80),
    array('id' => 2, 'name' => 'Jack', 'score' => 90),
    array('id' => 3, 'name' => 'Mary', 'score' => 85),
);

Now, we need to $ The sum of the 'score' column data in the data array can be implemented by following the following steps:

  1. Define a variable $sum and initialize it to 0 to save the summation result:
$sum = 0;
  1. Traverse the array $data, take out each row of data in turn, and accumulate the value of the 'score' column in the row of data into the $sum variable:
foreach ($data as $row) {
    $sum += $row['score'];
}
  1. Finally, what is stored in the $sum variable is the sum of the 'score' column data.

The complete code is as follows:

$data = array(
    array('id' => 1, 'name' => 'Tom', 'score' => 80),
    array('id' => 2, 'name' => 'Jack', 'score' => 90),
    array('id' => 3, 'name' => 'Mary', 'score' => 85),
);

$sum = 0;

foreach ($data as $row) {
    $sum += $row['score'];
}

echo "score 列数据总和为:$sum";

The above code will output:

score 列数据总和为:255

The time complexity of the above algorithm is O(n), where n represents the array $data The number of rows is a relatively efficient summation method.

In addition to the above methods, you can also use the array_column() function to obtain a column of data in the array, and then use the array_sum() function to sum the column data. For example:

$data = array(
    array('id' => 1, 'name' => 'Tom', 'score' => 80),
    array('id' => 2, 'name' => 'Jack', 'score' => 90),
    array('id' => 3, 'name' => 'Mary', 'score' => 85),
);

$scores = array_column($data, 'score');
$sum = array_sum($scores);

echo "score 列数据总和为:$sum";

The above code will output:

score 列数据总和为:255

The advantage of using the array_column() function to obtain a column of data in an array is that you can flexibly select the columns you want to obtain, and you can also cooperate with other array functions to perform more complex operations.

To sum up, summing a column of an array in PHP can be achieved by traversing the array and accumulating the data of the column. You can also use the array_column() function to first obtain the data of the column, and then use array_sum( ) function to sum. The most appropriate method should be chosen based on the specific situation.

The above is the detailed content of How to sum a column of an array 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