php键值相同的项数值相加

 1 php 合并一个二维数组相同项,数量则相加
 2
 3 $arr = array(
 4     array(
 5        ‘user_id‘ => 100,
 6        ‘goods_id‘ => 10,
 7        ‘number‘ => 1,
 8     ),
 9     array(
10        ‘user_id‘ => 100,
11        ‘goods_id‘ => 10,
12        ‘number‘ => 2,
13     ),
14     array(
15        ‘user_id‘ => 100,
16        ‘goods_id‘ => 10,
17        ‘number‘ => 2,
18     ),
19     array(
20        ‘user_id‘ => 100,
21        ‘goods_id‘ => 10,
22        ‘number‘ => 2,
23     ),
24 );
25 理想结果:
26 $arr = array(
27     array(
28         ‘user_id‘=> 100,
29         ‘goods_id‘ => 10,
30         ‘number‘ => 7,
31     ),
32
33 );
34
35
36 foreach($arr as $k=>$v){
37     if(!isset($item[$v[‘user_id‘]])){
38         $item[$v[‘user_id‘]]=$v;
39     }else{
40         $item[$v[‘user_id‘]][‘number‘]+=$v[‘number‘];
41     }
42 }
43 print_r($item);
时间: 2024-10-14 22:12:26

php键值相同的项数值相加的相关文章

PHP二维数组去重的方法(保留各个键值的同时去除重复的项)-- 二维数组的唯一性

对于如下二维数组,要求对其进行去重: $arr = array( '0'=>array( 'name'=>'james', 'age'=>30, ), '1'=>array( 'name'=>'susu', 'age'=>26, ), '2'=>array( 'name'=>'james', 'age'=>30, ), 'new'=>array( 'name'=>'kube', 'age'=>37, ), 'list'=>arr

大数据技术之_19_Spark学习_02_Spark Core 应用解析+ RDD 概念 + RDD 编程 + 键值对 RDD + 数据读取与保存主要方式 + RDD 编程进阶 + Spark Core 实例练习

第1章 RDD 概念1.1 RDD 为什么会产生1.2 RDD 概述1.2.1 什么是 RDD1.2.2 RDD 的属性1.3 RDD 弹性1.4 RDD 特点1.4.1 分区1.4.2 只读1.4.3 依赖1.4.4 缓存1.4.5 CheckPoint第2章 RDD 编程2.1 RDD 编程模型2.2 RDD 创建2.2.1 由一个已经存在的 Scala 集合创建,即集合并行化(测试用)2.2.2 由外部存储系统的数据集创建(开发用)2.3 RDD 编程2.3.1 Transformatio

第八章 键值数据库

8.1 何谓键值数据库 键值数据库时最简单的NoSQL数据库. 值存储的是什么不重要,只是一个块,应用程序负责理解所存数据的含义. Redis能存储list,set,hash等数据结构:而且支持获取摸个范围内的数值,求交.并.补集等. 8.2 键值数据库特性 讨论每一种NoSQL数据库特性的时候,都要了解一致性.事务.查询特性.数据结构以及可扩展性. 8.2.1 一致性 只有针对单个键的操作才具备"一致性". 8.2.2 事务 8.2.3 查询 只能按关键字查询,如果想根据列去查询,那

zabbix 取多台主机且相同键值的和

在我们实际工作中,会遇到三台机器做负载均衡,要取三台主机的访问量,就要将三台机器中总的访问量的值,进行相加, 在这三台机器 server1 server2 server3 中,三台机器对访问量监控项的键值要一样,这三台可以在同一个组中,可以不再挺同一个组中, 假设在同一个组中:为了便于区分,我们新创建一个agent主机, 其次我们创建监控项 信息类型要选择相应的,公式: last("主机名:键值")last("server1:key")+last("ser

Spark常用函数讲解--键值RDD转换

摘要: RDD:弹性分布式数据集,是一种特殊集合 ‚ 支持多种来源 ‚ 有容错机制 ‚ 可以被缓存 ‚ 支持并行操作,一个RDD代表一个分区里的数据集RDD有两种操作算子:         Transformation(转换):Transformation属于延迟计算,当一个RDD转换成另一个RDD时并没有立即进行转换,仅仅是记住       了数据集的逻辑操作         Ation(执行):触发Spark作业的运行,真正触发转换算子的计算 本系列主要讲解Spark中常用的函数操作:   

powershell检测注册表键值判断

Powershell一直在学习中,脚本编写能力有限,全凭自己的逻辑思路去写.如果有高手请留言指点. 在工作中碰到一个案例: 需要添加一个注册表项,判断如果有,显示存在.如果没有,添加键值. New-Item -Path C:\tools01 -ItemType directory -ForceGet-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" > C:\tools01

zabbix-自定义键值监控网卡IN、OUT流量

一.执行脚本创建 网卡IN流量 #vim networkin.sh /usr/local/zabbix/bin/jichuang/network.sh eth1 | awk '{print $5}' 网卡OUT流量 #vim networkout.sh /usr/local/zabbix/bin/jichuang/network.sh eth1 | awk '{print $8}' 二.添加执行权限 #chmod +x network networkin networkout 三.修改配置文件

Java记录 -63- Java的键值映射Map

public interface Map<K,V> 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. Map接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口. Map 接口提供三种collection 视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序.某些映射实现可明确保证其顺序,如 TreeMap 类:另一些映射实现则不保证顺序,如 HashMap 

python学习日记-循环和键值对

循环:python循环有两个,for和while for循环表示某一项变量在集合内,就继续执行循环,直到变量不在几个内了,就跳出循环. 比如一个集合a=[1,2,3,4]; for i in a: do sth: while循环是条件循环,当满足条件才执行循环.否则就不执行. 比如 a=[1,2,3,4] i=0; while i<len(a):#就是说i的值比a的长度值小. do sth; i++;#必须控制变量. 键值对: 键值对就想c#里面的hashtable一样,一个键对应一个值. 要想