这篇文章主要介绍“php二维数组中指定字段如何求和”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php二维数组中指定字段如何求和”文章能帮助大家解决问题。
求和步骤:1、使用array_column()函数获取二维数组中指定字段(列)的全部元素,语法“array_column(二维数组, '指定字段名')”,会返回一个包含指定字段全部元素的结果数组;2、使用array_sum()函数计算结果数组中所有元素的和即可,语法“array_sum(结果数组)”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
在php中,可以利用array_column()函数和array_sum()函数来获取二维数组中指定字段全部元素并求和。
实现步骤:
步骤1:使用array_column()函数获取二维数组中指定字段(列)的全部元素
array_column() 返回输入数组中某个单一列的值。
array_column(array,column_key,index_key);
参数 | 描述 |
---|---|
array | 必需。指定要使用的多维数组(记录集)。 |
column_key | 必需。需要返回值的列。可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。该参数也可以是 NULL,此时将返回整个数组(配合index_key 参数来重置数组键的时候,非常管用)。 |
index_key | 可选。作为返回数组的索引/键的列。 |
返回值:返回一个数组,数组的值为输入数组中某个单一列的值。
只需将该函数的第二个参数设置为指定字段名即可获取二维数组中指定字段(列)的全部元素
<?php header('content-type:text/html;charset=utf-8'); $arr=array( array( 'name' => "小明", 'score' => 85, 'age' => 25 ), array( 'name' => "小华", 'score' => 92, 'age' => 20 ), array( 'name' => "霄晓", 'score' => 100, 'age' => 22 ), array( 'name' => "萧洁", 'score' => 99, 'age' => 21 ), array( 'name' => "赵峰", 'score' => 96, 'age' => 24 ) ); var_dump($arr); echo "指定字段 score 的全部元素:"; $score=array_column($arr, 'score'); var_dump($score); echo "指定字段 age 的全部元素:"; $age=array_column($arr, 'age'); var_dump($age); ?>
步骤2、使用array_sum()函数对结果数组求和
echo "指定字段 score 的全部元素:"; $score=array_column($arr, 'score'); var_dump($score); $sum=array_sum($score); echo "指定字段 score 的元素和:".$sum; echo "指定字段 age 的全部元素:"; $age=array_column($arr, 'age'); var_dump($age); $sum=array_sum($age); echo "指定字段 age 的元素和:".$sum;
说明:
array_sum() 函数可以计算指定数组中所有元素的和。
array_sum ( $arr )
如果数组 arr 的所有元素都是整数,则返回一个整数值;如果其中有一个或多个值是浮点数,则返回浮点数。
如果数组 arr 中存在非数值类型的元素,那么 PHP 会尝试将它们转换成一个数值,转换失败就作为 0 值。例如,字符串 "45" 会被转换成整数 45,字符串 "12.4abc" 会被转换成小数 12.4。