一、记录一下一个数组求相同键名的键值和的简便方法:

比如你有一个数组:

$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获取数组中,相同键名的键值之和相关推荐

  1. php 获取数组最小值,php 获取数组中最小的值与键名的方法

    上一篇博文说的是php获取数组中最大的值与键名的方法,那么这篇博文就说一下php获取数组中最小的值与键名的方法.获取数组中最小的值可以使用php中的预设函数 min() ,其使用方法也非常的简单. p ...

  2. [转载]js:数组里面获取键名和键值

    原文地址:js:数组里面获取键名和键值 作者:function http://www.cnblogs.com/xxmb/archive/2013/11/19/3431118.html 在写php时用a ...

  3. jquery 获取某个值得键名_js:数组里面获取键名和键值

    在写php时用ajax异步传回的返回数组时是json格式,在js里面处理时有时需要用到键名,此时可以用in来处理 js只有数字索引: var data = new array("你" ...

  4. php获取数组中的全部可以吗,php获取数组中所有值的方法

    php的数组操作函数array_values 可以提取一个数组中所有元素值,具体的使用方法,可以参考下面的教程. array_values() 函数的作用是返回数组中所有元素的值,使用起来非常简单,只 ...

  5. PHP中获取数组中单列的值

    PHP中获取数组中单列的值如下: 利用PHP中的数组函数 array_column():返回数组中某个单列的值.(PHP 5.5+适用) 语法: array_column(array,column_k ...

  6. php 取出多重数组中的一列_PHP获取数组中指定的一列实例

    对于一个多维数组(以二维数组为例),经常需要获取到其中的一列,比如有几条用户数据,是一个二维数组,现在需要获取到这几个用户的名字,可以有多种方法实现: $arr = array( array( 'id ...

  7. python获取数组中最多的元素

    获取数组中数量最多的元素,也就是最频繁的那个元素,方法有很多,下面是3种最简单的: 1.用max函数 sample = [1,2,3,3,3,4,5,5] max(set(sample), key=s ...

  8. 获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值

    /*** 1.获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值* 1.定义int getNum(int[] arr)静态方法,该方法要求完成* 1.1 获取指定数组arr中元 ...

  9. scala 获取数组中元素_从Scala中的元素列表中获取随机元素

    scala 获取数组中元素 We can access a random element from a list in Scala using the random variable. To use ...

最新文章

  1. 常见字符串拼接性能比较
  2. ACE .i .inl文件(转)
  3. Spring Security OAuth2 Demo -- good
  4. 改变循环执行的状态,循环程序举例
  5. Spring 学习二-----AOP的原理与简单实践
  6. python应用:爬虫框架Scrapy系统学习第三篇——初识scrapy
  7. 视频图像处理芯片排名_关于图像处理芯片(DSP)
  8. 无人车业务中的视觉三维重建
  9. [node] 对某网站的简单爬虫
  10. 双光子荧光成像_为什么双光子成像如此重要?
  11. 如何衡量和提高推荐计划的投资回报率
  12. hdu 5055(坑)
  13. 美国大学的交流访问学者怎样申请?
  14. 五年引用量最高的 10 大论文:Adam 登顶,AlphaGo、Transfromer 上榜
  15. 【论文学习】《A Survey on Neural Speech Synthesis》
  16. 日本秋色之美:赏红叶
  17. 天线越大越好吗_天线数量是不是越多信号越好?无线路由器一、二、三根天线有什么区别?...
  18. 社交零售多商户分销商城APP小程序系统
  19. FM4057是一款32V 耐压单节锂电池线性充电芯片
  20. 讯飞语音万能五笔超强手写3合1输入法:

热门文章

  1. 命令行编译_新鲜货:C++ Build Insights告诉你为啥你的代码编译这么慢
  2. 帝国cms7.5百度小程序针对搜索引擎自然搜索优化版生成静态版
  3. PIL、Pillow安装使用方法
  4. strcut结构体和char型数组的相互转化
  5. python库下载安装网址
  6. pybind11 入门
  7. python ffmpeg pyav
  8. Attempted relative import in non-package
  9. OpenCV实现RGB颜色空间和HSI颜色空间的相互转换
  10. 青龙羊毛——杀猪盘(搬砖,非原创)