php中多维数组排序

来源:互联网 发布:百度人工智能世界第一 编辑:程序博客网 时间:2024/06/06 07:11
 <?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进行排序。



原创粉丝点击