php获取数组中,相同键名的键值之和
一、记录一下一个数组求相同键名的键值和的简便方法:
比如你有一个数组:
$arr = array([0]=>array([0]=>array('user_id'=>100,'field'=>100),[1]=>array('user_id'=>101,'field'=>101),),[1]=>array([0]=>array('user_id'=>100,'field'=>200),[1]=>array('user_id'=>101,'field'=>200),),
);
我们的需求是获取相同user_id的field之和。举个例子,比如field代表的是用户每天打开手机摇一摇并且摇动手机的次数(g),那么我们求七天内指定用户参与摇一摇的总次数。这样的话,得出的数组大概就是这个样子的。
平常的求相同键名的键值和的方法就是循环,判断键名是否相等,然后求和放入新数组。我们这边给出一个简洁的方案:
$newArr = array(); //随便命名一个新的空数组foreach ($arr as $key => &$v) { //这里的是有个“引用”if (!empty($arr[$key])) { //只计算每天参加过摇一摇的用户foreach ($v as $k) { //两次循环,取得最里面的数组if (isset($newArr[$k['user_id']])) {$newArr[$k['user_id']] += $k['field'];} else {$newArr[$k['user_id']] = $k['field'];}}} else {unset($arr[$key]);}
循环之后,判断新数组中是否存在相同的user_id键名,存在则键值相加,并存入新数组。
键名不相同的话,则直接把键值存入新数组。
挺节省代码的,记录一下。
end
php获取数组中,相同键名的键值之和相关推荐
- php 获取数组最小值,php 获取数组中最小的值与键名的方法
上一篇博文说的是php获取数组中最大的值与键名的方法,那么这篇博文就说一下php获取数组中最小的值与键名的方法.获取数组中最小的值可以使用php中的预设函数 min() ,其使用方法也非常的简单. p ...
- [转载]js:数组里面获取键名和键值
原文地址:js:数组里面获取键名和键值 作者:function http://www.cnblogs.com/xxmb/archive/2013/11/19/3431118.html 在写php时用a ...
- jquery 获取某个值得键名_js:数组里面获取键名和键值
在写php时用ajax异步传回的返回数组时是json格式,在js里面处理时有时需要用到键名,此时可以用in来处理 js只有数字索引: var data = new array("你" ...
- php获取数组中的全部可以吗,php获取数组中所有值的方法
php的数组操作函数array_values 可以提取一个数组中所有元素值,具体的使用方法,可以参考下面的教程. array_values() 函数的作用是返回数组中所有元素的值,使用起来非常简单,只 ...
- PHP中获取数组中单列的值
PHP中获取数组中单列的值如下: 利用PHP中的数组函数 array_column():返回数组中某个单列的值.(PHP 5.5+适用) 语法: array_column(array,column_k ...
- php 取出多重数组中的一列_PHP获取数组中指定的一列实例
对于一个多维数组(以二维数组为例),经常需要获取到其中的一列,比如有几条用户数据,是一个二维数组,现在需要获取到这几个用户的名字,可以有多种方法实现: $arr = array( array( 'id ...
- python获取数组中最多的元素
获取数组中数量最多的元素,也就是最频繁的那个元素,方法有很多,下面是3种最简单的: 1.用max函数 sample = [1,2,3,3,3,4,5,5] max(set(sample), key=s ...
- 获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值
/*** 1.获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值* 1.定义int getNum(int[] arr)静态方法,该方法要求完成* 1.1 获取指定数组arr中元 ...
- scala 获取数组中元素_从Scala中的元素列表中获取随机元素
scala 获取数组中元素 We can access a random element from a list in Scala using the random variable. To use ...
最新文章
- 常见字符串拼接性能比较
- ACE .i .inl文件(转)
- Spring Security OAuth2 Demo -- good
- 改变循环执行的状态,循环程序举例
- Spring 学习二-----AOP的原理与简单实践
- python应用:爬虫框架Scrapy系统学习第三篇——初识scrapy
- 视频图像处理芯片排名_关于图像处理芯片(DSP)
- 无人车业务中的视觉三维重建
- [node] 对某网站的简单爬虫
- 双光子荧光成像_为什么双光子成像如此重要?
- 如何衡量和提高推荐计划的投资回报率
- hdu 5055(坑)
- 美国大学的交流访问学者怎样申请?
- 五年引用量最高的 10 大论文:Adam 登顶,AlphaGo、Transfromer 上榜
- 【论文学习】《A Survey on Neural Speech Synthesis》
- 日本秋色之美:赏红叶
- 天线越大越好吗_天线数量是不是越多信号越好?无线路由器一、二、三根天线有什么区别?...
- 社交零售多商户分销商城APP小程序系统
- FM4057是一款32V 耐压单节锂电池线性充电芯片
- 讯飞语音万能五笔超强手写3合1输入法: