PHP 二维数组根据某个字段进行排序

来源:互联网 发布:picasa3 for mac 编辑:程序博客网 时间:2024/06/01 08:10
<span style="font-size:18px;"><strong><span style="color:#FF0000;">原文地址:http://blog.csdn.net/liruxing1715/article/details/28265495</span></strong></span><span style="font-size:18px;"><?php      /**      * 二维数组根据某个字段排序      * 功能:按照用户的年龄倒序排序      * @author ruxing.li      */      header('Content-Type:text/html;Charset=utf-8');      $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,          ),      );                   $sort = array(              'direction' => 'SORT_DESC', //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序              'field'     => 'age',       //排序字段      );      $arrSort = array();      foreach($arrUsers AS $uniqid => $row){          foreach($row AS $key=>$value){              $arrSort[$key][$uniqid] = $value;          }      }      if($sort['direction']){          array_multisort($arrSort[$sort['field']], constant($sort['direction']), $arrUsers);      }            var_dump($arrUsers);            /*     输出结果:          array (size=5)       0 =>          array (size=3)           'id' => int 5           'name' => string '黄七' (length=6)           'age' => int 20       1 =>          array (size=3)           'id' => int 2           'name' => string '李四' (length=6)           'age' => int 23       2 =>          array (size=3)           'id' => int 1           'name' => string '张三' (length=6)           'age' => int 25       3 =>          array (size=3)           'id' => int 4           'name' => string '赵六' (length=6)           'age' => int 31       4 =>          array (size=3)           'id' => int 3           'name' => string '王五' (length=6)           'age' => int 40          */</span>

0 0
原创粉丝点击