In development, it is often necessary to perform a sum operation on a certain column of an array. In the PHP language, the sum can be calculated by looping through the array, but this method not only requires a large amount of code, but is also less efficient. This article will introduce several simple and efficient methods to sum a certain column of a PHP array.
The first method is to use the array_column() function. The array_column() function can get the specified column from the array, and then sum the column. The code is as follows:
$array = array( array('name' => '张三', 'age' => 20, 'score' => 80), array('name' => '李四', 'age' => 21, 'score' => 85), array('name' => '王五', 'age' => 22, 'score' => 90), ); $sum = array_sum(array_column($array, 'score')); echo '总分:' . $sum;
The above code first defines a two-dimensional array, which contains the student's name, age and score. Then use the array_column() function to obtain the score column from the array, and finally call the array_sum() function to sum the column. The output result is: Total score: 255.
The second method is to use the array_reduce() function. The array_reduce() function can reduce an array to a value, and its parameters are a callback function and an initial value. In the callback function, each element can be added to finally obtain the sum of the column. The code is as follows:
$array = array( array('name' => '张三', 'age' => 20, 'score' => 80), array('name' => '李四', 'age' => 21, 'score' => 85), array('name' => '王五', 'age' => 22, 'score' => 90), ); $sum = array_reduce($array, function($total, $item) { return $total + $item['score']; }, 0); echo '总分:' . $sum;
The above code first defines a two-dimensional array, which contains the student's name, age and grade. . Then use the array_reduce() function to reduce the array. The default initial value is 0. The callback function adds the results of each element to finally get the sum of the column. The output result is: Total score: 255.
The third method is to use a foreach loop to traverse the array. The code is as follows:
$array = array( array('name' => '张三', 'age' => 20, 'score' => 80), array('name' => '李四', 'age' => 21, 'score' => 85), array('name' => '王五', 'age' => 22, 'score' => 90), ); $sum = 0; foreach($array as $item) { $sum += $item['score']; } echo '总分:' . $sum;
The above code first defines a two-dimensional array, which contains the student's name, age and grades. Then use a foreach loop to iterate through the array, adding the scores of each element, and finally getting the sum of the column. The output result is: Total score: 255.
To sum up, we can use a variety of methods to sum a column of a PHP array. Use the array_column() function to quickly and easily obtain a column of an array, and use the array_reduce() function to reduce an array to a single value and sum the column. Using a foreach loop to traverse an array is a common method because the code is simple and easy to understand. Depending on the specific situation, we can choose different methods to operate.
The above is the detailed content of PHP array sums a certain column. For more information, please follow other related articles on the PHP Chinese website!