php排除有某同一特征的数据

查看:95
本文介绍了php排除有某同一特征的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

想用foreach来获取gid, 得到以下的数据:gid 相同,
有什么办法排除同样的gid,一样的gid,只留一组.

[
  {
    "id": "151",
    "uid": "101497",
    "gid": "399",
    "create_time": "1462445116",
    "msg": null,
    "number": "148",
    "order_id": "2016050518451705537",
    "type": "0",
    "prepay_id": null,
    "code": null,
    "recharge": "0",
    "wid": "0",
    "end_time": "1462445416",
    "status": "1"
  },
  {
    "id": "132",
    "uid": "101497",
    "gid": "399",
    "create_time": "1462420981",
    "msg": null,
    "number": "97",
    "order_id": "2016050512030120339",
    "type": "0",
    "prepay_id": null,
    "code": null,
    "recharge": "0",
    "wid": "0",
    "end_time": "1462421281",
    "status": "1"
  },
  {
    "id": "133",
    "uid": "101497",
    "gid": "399",
    "create_time": "1462426436",
    "msg": null,
    "number": "97",
    "order_id": "2016050513335645342",
    "type": "0",
    "prepay_id": null,
    "code": null,
    "recharge": "0",
    "wid": "0",
    "end_time": "1462426736",
    "status": "1"
  }
]

解决方案

$str='[
  {
    "id": "151",
    "uid": "101497",
    "gid": "399",
    "create_time": "1462445116",
    "msg": null,
    "number": "148",
    "order_id": "2016050518451705537",
    "type": "0",
    "prepay_id": null,
    "code": null,
    "recharge": "0",
    "wid": "0",
    "end_time": "1462445416",
    "status": "1"
  },
  {
    "id": "132",
    "uid": "101497",
    "gid": "399",
    "create_time": "1462420981",
    "msg": null,
    "number": "97",
    "order_id": "2016050512030120339",
    "type": "0",
    "prepay_id": null,
    "code": null,
    "recharge": "0",
    "wid": "0",
    "end_time": "1462421281",
    "status": "1"
  },
  {
    "id": "133",
    "uid": "101497",
    "gid": "398",
    "create_time": "1462426436",
    "msg": null,
    "number": "97",
    "order_id": "2016050513335645342",
    "type": "0",
    "prepay_id": null,
    "code": null,
    "recharge": "0",
    "wid": "0",
    "end_time": "1462426736",
    "status": "1"
  }
]';

$arr = json_decode($str,1);
$res = [];
foreach($arr as $v){
      if (!isset($res[$v['gid']])){
           $res[$v['gid']] = $v;
      }
}
echo '<pre>';print_r(array_values($res));

这篇关于php排除有某同一特征的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆