merger_by_one 处理二维数组,根据里面某字段合并, 里面有的保留,有的求和~~
public function tt(){
$param = array(
array (
'hykno' => '2222222-CB',
'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777',
'totalamount' => '',
'offsetamount' => '90.0',
'postamount' => '',
'hysyamout' => '10.0',
'protypeid' => '',
),
array (
'hykno' => '2222222-CB',
'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777',
'totalamount' => '', // 需要支付的钱
'offsetamount' => '5.0', // 抵扣分类1下5.0份;
'postamount' => '', // 运费
'hysyamout' => '5.0',
'protypeid' => '',
),
array (
'hykno' => '2222222-CB',
'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777',
'totalamount' => '', // 需要支付的钱
'offsetamount' => '5.0', // 抵扣分类1下5.0份;
'postamount' => '', // 运费
'hysyamout' => '5.0',
'protypeid' => '',
),
array (
'hykno' => '2222222-CB',
'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777',
'totalamount' => '', // 需要支付的钱
'offsetamount' => '5.0', // 抵扣分类1下5.0份;
'postamount' => '', // 运费
'hysyamout' => '5.0',
'protypeid' => '',
)
);
$this->merger_by_one($param,'protypeid',['totalamount','offsetamount','postamount','hysyamout']);
}
/***
* @param $param 需要处理统一格式的数组
* @param $one_str 根据某个字段合并
* @param $plus_arr 需要求和的字段列表数组
*/
public function merger_by_one($param,$one_str,$plus_arr){
$u = array();
foreach ($param as $k => $v){
if (!in_array($v[$one_str],$u)){
$u[] = $v[$one_str];
}
}
$data = array();
foreach ($u as $uk => $uv)
{
foreach ($param as $pk => $pv)
{
$all_keys = array_keys($pv);
if ($pv[$one_str] == $uv)
{
foreach ($all_keys as $key_val)
{
if (in_array($key_val,$plus_arr)){
$data[$uv][$key_val] += $pv[$key_val];
} else {
$data[$uv][$key_val] = $pv[$key_val];
}
}
}
}
}
$data = array_values($data);
dump($data);
}
merger_by_one 处理二维数组,根据里面某字段合并, 里面有的保留,有的求和~~的更多相关文章
- php 将一个或多个二维数组组合成一个二维数组并根据某个字段排序排序
最近再写项目的时候,碰到一个问题:如何将一个或多个二维数组组合成一个二维数组并根据某个字段排序排序:实在是想不到哪个php库中有哪个函数能实现,只能自己写一个了,将代码写出来后,发现自己的代码繁琐,并 ...
- PHP二维数组如何根据某个字段排序
分享下PHP二维数组如何根据某个字段排序的方法. 从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 本文记录的要实现的功能类似于 ...
- php二维数组的某一字段 做分组统计
$country=array_column($order,'country');$countryGP=array_count_values($country);对二维数组的某一字段 做分组统计
- 一个有用的排序函数,array_multisort(),下面的一个用法是根据二维数组里的一个字段值的大小,对该二维数组进行重新排序
从二维数组$cashes中取出一列 'store_id'(二维数组中的每个一维数组都有的字段),按照这个的大小排序,对二维数组$caches里面的一维数组进行重新排序 实际应用如下 想让相同部门的排在 ...
- PHP:根据二维数组中的某个字段进行排序
首先了解下以下两个函数: 1.array_column() 返回输入数组中某个单一列的值. 2.array_multisort() 函数返回排序数组.您可以输入一个或多个数组.函数先对第一个数组进行排 ...
- PHP 根据二维数组中的某个字段进行排序
<?php $data = array( array( 'id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Gates' ...
- PHP 根据key 给二维数组分组
我们经常拿到一个二维数组出来,会发现结果和自己想要的有些偏差,可能需要根据二维数组里的某个字段对数组分组.先来看以下数组, Array ( [0] => Array ( [id] => 1 ...
- php二维数组根据某个字段去重
php的二维数组根据某个字段去重,在这默认为二维数组的结构是一样的,现在根据二维数组里的id字段去重,把id相同的重复的元素去掉 /** * 二维数组根据某个字段去重 * @param array $ ...
- 二维数组针对某字段排序 - array_multisort()
/** * 针对二维数组下的某字段排序 * @param array $myarr 被排序数组 * @param string $sort_key 排序根据字段 * @param flag $sort ...
随机推荐
- Beta冲刺第二周王者荣耀交流协会第五次会议
1.立会照片 成员:王超,高远博,冉华,王磊,王玉玲,任思佳,袁玥全部到齐. master:王磊 2.时间跨度: 2017年11月21日 15:00 — 15:17,总计17分钟. 3.地点: 一食堂 ...
- OO第三阶段作业总结
调研: 最早的程序设计是直接采用机器语言来编写的,或者使用二进制码来表示机器能够识别和执行的指令和数据.机器语言的优点在于速度快,缺点在于写起来实在是太困难了,编程效率低,可读性差,并且 ...
- CS小分队第二阶段冲刺站立会议(5月31日)
昨日成果:查找相关C#资料,清楚一些bug 遇到问题:系统获取的图标分辨率太低,网上找来的获取图标的代码看不太懂 今日计划:完善获取文件图标功能,并且能够删除获取的图标文件
- c++课的圆周面积
又回顾了一下一两个月没动过的类,似乎又有点手生了,不过还好还可以做. 在栋哥的推荐下下载了一个vs2015,表示从dev的白鼠形式的简单操作缓过来还有些不习惯呢,不过有些功能,例如诊断还是挺好用的 这 ...
- android 的helloworld没跑起来 原因
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com. ...
- python基础(二)条件判断、循环、格式化输出
继续上一篇,今天主要总结一下条件判断.循环.格式化输出 一.条件判断 python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样, ...
- scrapy 直接在编辑器运行
# *_*coding:utf-8 *_* from scrapy.cmdline import execute execute("scrapy crawl spbeen --nolog&q ...
- Linux内核0.11 makefile文件说明
# # if you want the ram-disk device, define this to be the # size in blocks. # 如果要使用 RAM 就定义块的大小(注释掉 ...
- IE 低版本 透明度
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 怎么解决Xing欲
怎么解决Xing欲 来源:微信号 王路在隐身 这是知乎上的一道问题.原题叫<和尚怎么解决性欲>. 本来由出家人回答更合适,但估计出家人一般不太愿意回答. 我看了几十个答案,几乎都是在调侃出 ...