cal*_*die 4 php arrays multidimensional-array
我有一个多维数组如下:
Array(
[0] => Array
(
[name] => item 1
[quantity] => 2
[price] => 20.00
)
[1] => Array
(
[name] => item 2
[quantity] => 1
[price] => 15.00
)
[2] => Array
(
[name] => item 3
[quantity] => 4
[price] => 2.00
)
)
Run Code Online (Sandbox Code Playgroud)
我需要所有这些项目的"总计".现在很明显我可以通过以下方式获得这些:
$grand_total = 0;
foreach ($myarray as $item) {
$grand_total += $item['price'] * $item['quantity'];
}
echo $grand_total;
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 可以使用PHP中的任何数组函数在较少的代码行中完成吗?
没有.你必须定义一个要使用的回调函数array_reduce.这甚至会变得更长,但使代码更好地重用.
编辑:没有写PHP很长一段时间,但这应该这样做:
function sum_total_price_of_items($sum, $item) {
return $sum + $item['price'] * $item['quantity']
}
echo array_reduce($myarray, "sum_total_price_of_items", 0)
Run Code Online (Sandbox Code Playgroud)