php 按条件将数组合并

有个需求:按时间将数组合并

原数组:
file

<?php
/**
 * Created by PhpStorm.
 * User: binWei
 */

$str = <<<FFF
[{"p_date":"2019-10-05","complex0":804242632},{"p_date":"2019-10-06","complex0":823298584},{"p_date":"2019-10-07","complex0":790692152},   {"p_date":"2019-10-08","complex0":783287616},{"p_date":"2019-10-09","complex0":792646336},{"p_date":"2019-10-10","complex0":780325912}, {"p_date":"2019-10-11","complex0":794923184},{"p_date":"2019-10-05","complex1":57102968},{"p_date":"2019-10-06","complex1":57881296},{"p_date":"2019-10-07","complex1":54998320},{"p_date":"2019-10-08","complex1":55255872},{"p_date":"2019-10-09","complex1":54035844},{"p_date":"2019-10-10","complex1":55368612},{"p_date":"2019-10-11","complex1":56167788}]
FFF;
$strArr = json_decode($str, true);
//var_dump($strArr);die;
$dims = array(
		"p_date"
);

$result = array();
foreach ($strArr as $source) {
		$keyArr = array();
		$count = 0;
		foreach ($dims as $dim) {
				$dimValue = $source[$dim];
				//为空的情况弄个站位符
				if (is_null($dimValue)) {
						$dimValue = "EP" . $count;
				}
				$keyArr[] = $dimValue;
				$count++;
		}
		$keyStr = implode("_", $keyArr);
		foreach ($source as $key => $value) {
				$result[$keyStr][$key] = $value;
		}
}

var_dump($result);

执行结果:
file

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值