求和步骤:1、使用array_column()函数获取二维数组中指定字段(列)的全部元素,语法“array_column(二维数组, '指定字段名')”,会返回一个包含指定字段全部元素的结果数组;2、使用array_sum(
求和步骤: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。
以上就是php二维数组中指定字段怎么求和的详细内容,更多请关注编程网其它相关文章!--结束END--
本文标题: php二维数组中指定字段怎么求和
本文链接: https://lsjlt.com/news/33832.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0