
正文
PHP数据数组值相加 php数组相减
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP 多个数组合并 重新生成新的数组并按要求值相加
$aa='[{"id": 0, "num": "2", "name": "产品1", "price": "37", "amount": 74, "zdamount": 100}, {"id": 1, "num": "2", "name": "产品2", "price": "37", "amount": 74, "zdamount": 100}]';
$bb='[{"id": 0, "num": "3", "name": "产品1", "price": "37", "amount": 90, "zdamount": 110}, {"id": 1, "num": "5", "name": "产品2", "price": "37", "amount": 150, "zdamount": 180}]';
$cc='[{"id": 2, "num": "3", "name": "产品3", "price": "37", "amount": 90, "zdamount": 110}, {"id": 1, "num": "5", "name": "产品2", "price": "37", "amount": 150, "zdamount": 180}]';
$j_a = json_decode($aa,1);
$j_b = json_decode($bb,1);
$j_c = json_decode($cc,1);
$arr_list = [$j_a,$j_b,$j_c];//把数组扔进大数组,这样可以随意增加个数
$result = [];
foreach ($arr_list as $k=$v) {//第一次循环,把原数组取出
foreach ($v as $key = $value) {//第二次循环,正式取出数据
if (isset($result[$value['id']])) {//如果有此id,则进行累加操作
$result[$value['id']]['num'] += $value['num'];
$result[$value['id']]['amount'] += $value['amount'];
$result[$value['id']]['zdamount'] += $value['zdamount'];
} else {//没有此id则进行赋值操作
$result[$value['id']]['id'] = $value['id'];
$result[$value['id']]['price'] = $value['price'];
$result[$value['id']]['name'] = $value['name'];
$result[$value['id']]['num'] = $value['num'];
$result[$value['id']]['amount'] = $value['amount'];
$result[$value['id']]['zdamount'] = $value['zdamount'];
}
}
}
echo json_encode($result,320);//输出结果,如果需要序列化键值,可以使用array_values($result)
相关问答
Q1: php 数组求和
递归,php递归有限制,跟机器有关心,可能抛出超过100,用PHP数据数组值相加的时候小心
求和,可以先转成以为数组,然后用数据求和函数array_sum吧
Q2: php数组值如何正确相加
//摘自php5手册
?php
$a = array(2, 4, 6, 8);
echo "sum(a) = " . array_sum($a) . "\n";
$b = array("a" = 1.2, "b" = 2.3, "c" = 3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?
Q3: 对数组中所有值求和
array_sum
(PHP 4 = 4.0.4, PHP 5, PHP 7)
array_sum — 对数组中所有值求和
说明
array_sum ( array $array ) : number
array_sum() 将数组中的所有值相加,并返回结果。
参数
array
输入的数组。
返回值
所有值的和以整数或浮点数的结果返回,array 为空时则返回 0。
范例
示例 #1 array_sum() 例子
1.2, "b" = 2.3, "c" = 3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?
以上例程会输出:
sum(a) = 20
sum(b) = 6.9
关于PHP数据数组值相加和php数组相减的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






