PHP在foreach单独中求和值
嗨,我是php新手,当我需要在foreach中汇总数组时,我遇到了一些问题 我有这样的数组:PHP在foreach单独中求和值,php,arrays,Php,Arrays,嗨,我是php新手,当我需要在foreach中汇总数组时,我遇到了一些问题 我有这样的数组: $arrays = [ [ 'orderid' => "1", 'price' => "100" 'rate' => "1" ], [
$arrays = [
[
'orderid' => "1",
'price' => "100"
'rate' => "1"
],
[
'orderid' => "2",
'price' => "200"
'rate' => "5"
],
];
当我使用foreach时,我面对的是,price*rate将连续相加,但不会单独相加
$bonus = array();
foreach($arrays as $data){
$bonus = $data['originalPrice'] * $data['rate'];
}
我也尝试过使用array\u map()
,但也无法得到答案
我需要的是:
$array = [
[
'total' => 100;
],
[
'total' => 1000;
]
]
想帮忙吗
更新:所有答案都已更正,是api数据给了我错误的信息lol。Foreach很好,但您需要添加到奖金数组,而不是覆盖结果:
foreach($arrays as $data){
$bonus[]['total'] = $data['price'] * $data['rate'];
}
print_r($bonus);
$bonus = array();
foreach($arrays as $data){
$bonus[] = array('total' => $data['originalPrice'] * $data['rate']);
}
这是将数组添加到
奖金
数组。您使用的是价格
,因此使用该属性,您需要在结果数组中推送值。因此,您需要执行以下操作:
<?php
$arrays=array(
array(
'orderid' => "1",
'price' => "100",
'rate' => "1"
),
array(
'orderid' => "2",
'price' => "200",
'rate' => "5"
)
);
$bonus = array();
foreach($arrays as $data){
array_push($bonus,$data['price'] * $data['rate']);
}
print_r($bonus);
?>
您可以在测试此代码。您可以使用array\u push()函数将一个或多个元素插入数组的末尾。只需使用
$bonus[]=
而不是$bonus=
。它仍将继续添加