Php 关联数组总值计数
检查下面的数组print_r()视图。我只想得到“金额”值的总和。和输出不应在数组中。它应该是一个简单的整数值。所以结果应该是4+3+9=16Php 关联数组总值计数,php,Php,检查下面的数组print_r()视图。我只想得到“金额”值的总和。和输出不应在数组中。它应该是一个简单的整数值。所以结果应该是4+3+9=16 Array ( [0] => Array ( [id] => 15 [portfolio_id] => 1 [stock_id] => 1 [amount]
Array
(
[0] => Array
(
[id] => 15
[portfolio_id] => 1
[stock_id] => 1
[amount] => 4
[date] => 04/02/2017
[created_at] => 2017-04-02 09:04:30
[updated_at] => 2017-04-02 09:04:30
)
[1] => Array
(
[id] => 14
[portfolio_id] => 1
[stock_id] => 3
[amount] => 3
[date] => 04/02/2017
[created_at] => 2017-04-02 09:03:40
[updated_at] => 2017-04-02 09:03:40
)
[2] => Array
(
[id] => 13
[portfolio_id] => 1
[stock_id] => 4
[amount] => 9
[date] => 04/02/2017
[created_at] => 2017-04-02 09:03:36
[updated_at] => 2017-04-02 09:03:36
)
)
尝试array\u sum(array\u列($input,'amount')代码>
array\u列
将返回amount
键和array\u sum
计算返回数组中的值之和尝试以下方法:
function sum($carry, $item)// summing on amount column of the inner array $item
{
$carry += $item["amount"];
return $carry;
}
echo "Amount sum : ".array_reduce($a, "sum");// output : 59
示例:
<?php
/**
* Created by PhpStorm.
* User: lenovo
* Date: 4/2/2017
* Time: 11:17 AM
*/
$array = array
(
array("name"=>"Volvo","amount"=>22,"id"=>18),
array("name"=>"BMW","amount"=>15,"id"=>13),
array("name"=>"Saab","amount"=>5,"id"=>2),
array("name"=>"Land Rover","amount"=>17,"id"=>15)
);
function sum($carry, $item)
{
$carry += $item["amount"];
return $carry;
}
echo "Amount sum : " .array_reduce($array, "sum");// output : 59
<代码>总是考虑添加实况演示链接:它使你的代码更加清晰。