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

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

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

使用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中Session文件过多的解决方法

PHP中Session文件过多的解决方法

PHP的session文件夹默认保存在同一个文件,随着访客的增多,访问的速度会非常慢,例如部分管理系统后台每天登陆1000次,1个月就创建了30000个session文件,一年后是多少?假设这个系统的用户是上万人呢?方法1:每个网站使用自己的session文件夹,代码如下:<?php $pat...

php非对称加密

php非对称加密

先在centos安装openssl,然后开始://生成私钥openssl genrsa -out rsa_private_key.pem 1024//生成公钥openssl rsa -in rsa_private_key.pem&...

swoole中的worker_num和task_worker_num

swoole中的worker_num和task_worker_num

(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。(2)manager进程开始统一管理进程创建回收管理。(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程因此启动s...

PHP yield  PHP协程,PHP协程用法学习

PHP yield PHP协程,PHP协程用法学习

【一】.迭代器迭代是指反复执行一个过程,每执行一次叫做一次迭代。比如下面的代码就叫做迭代:1.  <?php   2.  $data = ['1', '2', &...

PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl.dll找不到指定的模块

PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl.dll找不到指定的模块

最近在编写windows php多线程的东西,从官网下载了PHP的线程安全版,尝试开启curl扩展extension=php_curl.dllphp -m 却提示 PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl...

thinkphp虚拟主机部署,Laravel虚拟主机部署

thinkphp虚拟主机部署,Laravel虚拟主机部署

适用于虚拟主机无法设置public目录为网站目录的虚拟主机(1).根目录创建index.php<?php //设置网站目录 $root_path = __DIR__ . DIRECTORY_SEPARATOR . 'publ...