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

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

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

使用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批量插入的2种方法速度对比

PHP批量插入的2种方法速度对比

代码1:for循环批量插入100W数据<?php set_time_limit(0); $servername = "localhost"; $username = "root"; $password ...

php 将数组键值转为变量

php 将数组键值转为变量

<?php $data=array('a'=>1,'b'=>2,'c'=>3,'d'=>4); extract($data); var_dump($a,$b,$c,$d); ?>在人人商城中捡到的...

php使用swoole扩展推送消息

php使用swoole扩展推送消息

通过http推送消息给socket,socket服务再向客户端推送<?php /*  * Socket推送  * 请用守护进程方式启动php msgservice.php &   (socket只...

php守护进程

php守护进程

<?php /**  * daemonize让当前脚本为守护进程执行  * @param string $callback 匿名函数  */ function daemonize($callback) {...

PHP Warning:  ftok(): Project identifier is invalid

PHP Warning: ftok(): Project identifier is invalid

在使用ftok生成ipc进程通信key尝试将第二个参数项目标识符传入字符串报错:PHP Warning:  ftok(): Project identifier is invalid,查阅资料发现第二个字符串只能是1个字符串,长度为1....

packagist包发布稳定版

packagist包发布稳定版

自己的composer已经发布到packagist,但是无法使用composer require easy-task/easy-task来安装,只能在配置文件使用如下方式安装:"require": {     "easy...