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

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

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

使用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对象转数组

PHP对象转数组

function objtoarr($obj){ $ret = array(); foreach($obj as $key =>$value){ if(gettype($value) == 'arr...

PHP高并发下数据库值更新的问题

PHP高并发下数据库值更新的问题

(1).创建数据库test ,创建表shop(字段id,total),商品id是1,商品总数10    (2).PHP模拟购买,商品数量大于0才能购买<?php //连接数据库 $con=mysqli_connect("192.168.2.18...

php异步执行,php后台运行,如何在windows下让php后台运行

php异步执行,php后台运行,如何在windows下让php后台运行

如果想在windows中执行php,并且让php脚本在后台运行,可以用下面的cmd命令start /b php  D:\wwwroot\default\demo1\run.php例如上面的命令意思后台运行run.php,如果想用php编写异步代码: ...

【二】PHP多进程学习-进程信号管理

【二】PHP多进程学习-进程信号管理

(1).学习目标:    了解常见信号类型(百度PHP支持的信号类型),(2).相关函数学习:    (2.1).pcntl_signal函数用于设置一个信号管理器接收进程信号,参数1:信号类型,参数2:回调函数,用于在接收到参数1类型的信...

php  while  true  cpu占用100%

php while true cpu占用100%

在编写多进程的实例中我在每个进程中使用如下代码://调用等待信号的处理器 while (true) {     pcntl_signal_dispatch(); }开启5个进程,cpu直接100%修正之后的代码://调用等待信号的处理器 while&...

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

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

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