您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > php

PHP 二维数组根据某个键值 给二位数组分类

时间:2021-09-29 10:13:09  来源:  作者:七七小影视

一段数组为例:

$list = array:4 [
  0 => array:7 [
    "id" => 56
    "mer_id" => 7
    "order_id" => "wx163265961408769974"
    "is_postage" => 0
    "store_name" => "奇柏丽"
    "postage" => "快递配送"
    "truePrice" => 42.0
  ]
  1 => array:7 [
    "id" => 67
    "mer_id" => 7
    "order_id" => "wx163274484223537232"
    "is_postage" => 0
    "store_name" => "奇柏丽"
    "postage" => "快递配送"
    "truePrice" => 208.0
  ]
  2 => array:7 [
    "id" => 66
    "mer_id" => 3
    "order_id" => "wx163273502881634474"
    "is_postage" => 0
    "store_name" => "美丽小铺"
    "postage" => "快递配送"
    "truePrice" => 119.0
  ]
  3 => array:7 [
    "id" => 68
    "mer_id" => 1
    "order_id" => "wx163279157705472302"
    "is_postage" => 1
    "product_attr_unique" => "d973a4f5"
    "store_name" => "七七小铺"
    "postage" => "到店自提"
    "truePrice" => 120.0
  ]
]

在这个数组中以到店自提(postage)和 快递配送(postage)来分类,然后在此基础上再以商家为基础分类,用到的键名(is_postage,postage,mer_id,store_name)。

php代码实现

$new = [];
        
foreach($list as $k => $item){
  if($item['is_postage'] ==0 ){

    $new[$item['is_postage']]['postage_name'] = "快递配送";

  }else{

    $new[$item['is_postage']]['postage_name'] = "到店自提";

  }

  $new[$item['is_postage']]['postage'][$item['mer_id']]['store_name'] = $item['store_name'];
  $new[$item['is_postage']]['postage'][$item['mer_id']]['store'][$k] = $item;
}
dump($new);
order
输出结果:
array:2 [
  0 => array:2 [
    "postage_name" => "快递配送"
    "aa" => array:2 [
      7 => array:2 [
        "store_name" => "奇柏丽"
        "store" => array:2 [
          0 => array:7 [
            "id" => 56
            "mer_id" => 7
            "order_id" => "wx163265961408769974"
            "is_postage" => 0
            "store_name" => "奇柏丽"
            "postage" => "快递配送"
            "truePrice" => 42.0
          ]
          1 => array:7 [
            "id" => 67
            "mer_id" => 7
            "order_id" => "wx163274484223537232"
            "is_postage" => 0
            "store_name" => "奇柏丽"
            "postage" => "快递配送"
            "truePrice" => 208.0
          ]
        ]
      ]
      3 => array:2 [
        "store_name" => "美丽小铺"
        "store" => array:1 [
          2 => array:7 [
            "id" => 66
            "mer_id" => 3
            "order_id" => "wx163273502881634474"
            "is_postage" => 0
            "store_name" => "美丽小铺"
            "postage" => "快递配送"
            "truePrice" => 119.0
          ]
        ]
      ]
    ]
  ]
  1 => array:2 [
    "postage_name" => "到店自提"
    "aa" => array:1 [
      1 => array:2 [
        "store_name" => "七七小铺"
        "store" => array:1 [
          3 => array:7 [
            "id" => 68
            "mer_id" => 1
            "order_id" => "wx163279157705472302"
            "is_postage" => 1
            "store_name" => "七七小铺"
            "postage" => "到店自提"
            "truePrice" => 120.0
          ]
        ]
      ]
    ]
  ]
]


Tags:PHP   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
golang context 很好用,就使用php实现了github地址 : https://github.com/qq1060656096/php-go-context context使用闭坑指南1. 将一个Context参数作为第一个参数传递给传入和...【详细内容】
2021-11-05  Tags: PHP  点击:(40)  评论:(0)  加入收藏
TechEmpower BenchmarkTechEmpower 的测试比较科学,包含 SQL 查询、JSON 序列化等各种测试,同时标注了哪些是使用了 ORM,哪些是 RAW 查询。 TechEmpower Benchmark Web Framew...【详细内容】
2021-10-12  Tags: PHP  点击:(70)  评论:(0)  加入收藏
一段数组为例:$list = array:4 [ 0 => array:7 [ "id" => 56 "mer_id" => 7 "order_id" => "wx163265961408769974" "is_postage" => 0 "store_name" => "奇...【详细内容】
2021-09-29  Tags: PHP  点击:(64)  评论:(0)  加入收藏
在本地搭建服务器,httpd-vhosts.conf 中设置本地绑定的域名: 其中,zzzphp为下载的zzzphp cms的内容。然后,本机上的zzzphp cms的目录结构为如下: 在按照要求安装好cms后,本地cms的...【详细内容】
2021-07-16  Tags: PHP  点击:(80)  评论:(0)  加入收藏
目录 介绍 变量 使用见字知意的变量名 同一个实体要用相同的变量名 使用便于搜索的名称 (part 1) 使用便于搜索的名称 (part 2) 使用自解释型变量 避免深层嵌套,尽早返回 (pa...【详细内容】
2021-03-25  Tags: PHP  点击:(353)  评论:(0)  加入收藏
环境配置:系统:Linux语言:PHP框架:Laravel 5.8主要技术:Zizaco/Entrust扩展包,MySQL,PHP,Composer 扩展包名称:Zizaco/Entrust安装配置:// 1. 在项目根目录运行composer require ziza...【详细内容】
2021-02-05  Tags: PHP  点击:(609)  评论:(0)  加入收藏
CURL是一个非常强大的开源库,它支持很多种协议,例如,HTTP、HTTPS、FTP、TELENT等。日常开发中,我们经常会需要用到curl向其他系统api访问。使用要想使用CURL,大致需要如下流程: 初...【详细内容】
2020-11-20  Tags: PHP  点击:(104)  评论:(0)  加入收藏
在 PHP 中,以双下划线(__)开始命名的方法被称作 PHP 中的魔术方法,它们在 PHP 中充当很重要的角色。魔术方法包括: 本文将使用一些实例展示 PHP 魔术方法的运用。 1.__construct(...【详细内容】
2020-09-04  Tags: PHP  点击:(61)  评论:(0)  加入收藏
随着互联网浏览越来越大. 传统的 MVC 单一架构随着应用规模的不断扩大,应用模块不断增加,整个应用也显得越来越臃肿,维护起来也更加困难.我们必须采取措施,按应用拆分,就是把原...【详细内容】
2020-08-31  Tags: PHP  点击:(72)  评论:(0)  加入收藏
这篇文章介绍的内容是关于PHP 经典面试题集 PHP 经典面试题集,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 答应大家的,150粉丝福利安排进阶资料,工作中准备的...【详细内容】
2020-08-20  Tags: PHP  点击:(75)  评论:(0)  加入收藏
▌简易百科推荐
序言:前段时间织梦因为版权的问题在网上闹得沸沸扬扬,也提醒了众多开发者选择cms上应该谨慎使用,今天给大家展示一款自己搭建的内容管理系统,不用担心版权的问题,而且非常容易维...【详细内容】
2021-11-30  小程序软件开发    Tags:管理系统   点击:(31)  评论:(0)  加入收藏
准备安装包(PHP: Hypertext Preprocessor)下载安装包以及组件wget https://www.php.net/distributions/php-8.0.0.tar.bz2wget https://github.com/phpredis/phpredis/archive...【详细内容】
2021-11-09  mimic96    Tags:PHP   点击:(40)  评论:(0)  加入收藏
golang context 很好用,就使用php实现了github地址 : https://github.com/qq1060656096/php-go-context context使用闭坑指南1. 将一个Context参数作为第一个参数传递给传入和...【详细内容】
2021-11-05  1060656096    Tags:PHP   点击:(40)  评论:(0)  加入收藏
一段数组为例:$list = array:4 [ 0 => array:7 [ "id" => 56 "mer_id" => 7 "order_id" => "wx163265961408769974" "is_postage" => 0 "store_name" => "奇...【详细内容】
2021-09-29  七七小影视    Tags:PHP   点击:(64)  评论:(0)  加入收藏
利用JS的CryptoJS 3.x和PHP的openssl_encrypt,openssl_decrypt实现AES对称加密解密,由于需要两种语言对同一字符串的操作,而CryptoJS 的默认加密方式为“aes-256-cbc”,PHP端也...【详细内容】
2021-09-16  李老师tome    Tags:对称加密   点击:(79)  评论:(0)  加入收藏
1、checkdate()验证格利高里日期即:日期是否存在。checkdate(month,day,year);month必需。一个从 1 到 12 的数字,规定月。day必需。一个从 1 到 31 的数字,规定日。year必需。...【详细内容】
2021-08-31  七七小影视    Tags:时间函数   点击:(80)  评论:(0)  加入收藏
对于各类开发语言来说,整数都有一个最大的位数,如果超过位数就无法显示或者操作了。其实,这也是一种精度越界之后产生的精度丢失问题。在我们的 PHP 代码中,最大的整数非常大,我...【详细内容】
2021-08-26  硬核项目经理    Tags:PHP   点击:(83)  评论:(0)  加入收藏
遵从所有教材以及各类数据结构相关的书书籍,我们先从线性表开始入门。今天这篇文章更偏概念,是关于有线性表的一个知识点的汇总。上文说过,物理结构是用于确定数据以何种方式存...【详细内容】
2021-07-19  硬核项目经理    Tags:线性表   点击:(94)  评论:(0)  加入收藏
一、开启IIS全部功能。二、部署PHP1.官网下载并解压PHP: https://windows.php.net/downloads/releases/2.将php.ini-development文件改为php.ini3.修改php.ini(1)去掉注释,并修...【详细内容】
2021-07-15  炘蓝火诗  今日头条  Tags:PHP环境   点击:(128)  评论:(0)  加入收藏
一、环境说明本文中使用本地VM虚机部署测试。OS:CentOS Linux release 7.8.2003 (Core)虚机配置:2核CPU、4G内存①系统为CentOS 7.8 x64最小化安装,部署前已完成系统初始化、...【详细内容】
2021-06-25  IT运维笔记  今日头条  Tags:PHP8.0.7   点击:(141)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条