当前位置:首页 > PHP > 正文内容

PHP二维数组排序,PHP多维数组排序, array_multisort()

高老师8年前 (2018-10-14)PHP2160

使用php函数array_multisort()即可实现和SQL一样的order by排序. 例如我们需要对会员表按照主键降序排列,年龄升序排列:

//会员表数据
$list = [];
$list[] = ['mid' => 5, 'name' => 'zhang', 'age' => 14];
$list[] = ['mid' => 7, 'name' => 'li', 'age' => 22];
$list[] = ['mid' => 9, 'name' => 'wang', 'age' => 29];
$list[] = ['mid' => 1, 'name' => 'gao', 'age' => 23];

//先取出mid和age
foreach ($list as $key => $value) {
    $mids[$key] = $value['mid'];
    $ages[$key] = $value['age'];
}

//按照mid降序,age升序排列
array_multisort($mids,SORT_DESC,$ages,SORT_ASC,$list);

var_dump($list);

输出结果:

array(4) {
  [0]=>
  array(3) {
    ["mid"]=>
    int(9)
    ["name"]=>
    string(4) "wang"
    ["age"]=>
    int(29)
  }
  [1]=>
  array(3) {
    ["mid"]=>
    int(7)
    ["name"]=>
    string(2) "li"
    ["age"]=>
    int(22)
  }
  [2]=>
  array(3) {
    ["mid"]=>
    int(5)
    ["name"]=>
    string(5) "zhang"
    ["age"]=>
    int(14)
  }
  [3]=>
  array(3) {
    ["mid"]=>
    int(1)
    ["name"]=>
    string(3) "gao"
    ["age"]=>
    int(23)
  }
}

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/68.html

分享给朋友:

“PHP二维数组排序,PHP多维数组排序, array_multisort()” 的相关文章

php soap 捕获异常,使用try catch 捕获Soap 异常

php soap 捕获异常,使用try catch 捕获Soap 异常

项目中使用服务来执行webservice,由于对方系统api不稳定,经常导致服务崩溃,只能重启,一个月差不多要重启一次。初期的解决办法是捕获异常,然后continue掉。<?php try {     $url = 'http...

php arrayaccess的应用场景:配置管理器

php arrayaccess的应用场景:配置管理器

上篇文章已经讲解arrayacces的原理,现在来讲解下arrayaccess的实际应用。一个大型的互联网项目中必然会存在各种配置信息,例如多种数据库信息:mysql,tidb,mongodb,redis,某个业务模块单独的配置信息如比例,额度等等,那么该如何治理配置信息?PHP项目中大部分的框架都...

redis订阅和发布,redis消息订阅与发布, phpredis订阅和发布

redis订阅和发布,redis消息订阅与发布, phpredis订阅和发布

Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...

【一】PHP多进程学习-简单创建父子进程.理解父子进程运行流程

【一】PHP多进程学习-简单创建父子进程.理解父子进程运行流程

(1).学习的目标:学会创建父子进程,并且能够区分当前进程是父还是子;了解父进程执行过程,子进程执行过程;能够用多进程执行任务(2).相关函数学习:    (2.1)pcntl_fork()执行时:       &nbs...

php生成器的send方法详解,php yield send

php生成器的send方法详解,php yield send

【一】.基本用法首先看看官方对send方法的解释:Sets the return value of the yield expression and resumes the generato...