php中多维数组排序

 <?php
   $arrUsers = array(
     array(
             'id'   => 1,
             'name' => '张三',
             'age'  => 25,
     ),
     array(
             'id'   => 2,
             'name' => '李四',
             'age'  => 23,
     ),
     array(
             'id'   => 3,
             'name' => '王五',
             'age'  => 40,
     ),
     array(
             'id'   => 4,
             'name' => '赵六',
             'age'  => 31,
     ),
     array(
             'id'   => 5,
             'name' => '黄七',
             'age'  => 20,
     ),
 );  
   function compare($x, $y){
       if ($x['age'] == $y['age']){
           return 0;
       }else if ($x['age'] < $y['age']){
           return -1;
       }else{
           return 1;
       }
   }
   usort($arrUsers,'compare');

   for ($row = 0; $row < 5; $row++){
       reset($arrUsers[$row]);
       while (list($key, $value ) = each( $arrUsers[$row])){
           echo "$key:$value"."<br/>";
       }    
       echo '<br />';
   }

   ?>


输出为:

id:5
name:黄七
age:20

id:2
name:李四
age:23

id:1
name:张三
age:25

id:4
name:赵六
age:31



compare() 定义了排序的方法,这个程序是按照‘age’的大小来进行排序,


usort() 采用compare()的方法对arrUsers进行排序。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值