分享

PHP 二位数组排序

 马超读书的季节 2015-12-25
一维数组的排序我们知道使用ksort()  asort()

二维数组的排序怎么实现呢?

使用array_multisortusort可以实现


例如像下面的数组:

代码如下:

$users array(
  array('name' => 'tom''age' => 20), 
  array('name' => 'anny''age' => 18), 
  array('name' => 'jack''age' => 22)
);

希望能按照age从小到大进行排序。

1、使用array_multisort()

$ages array();
foreach ($users as $key => $val) {
    $ages[] = $val['age'];
}
 
print_r($ages);
//输出结果:Array([0] => 20,[1] => 18,[2] => 22);
 
array_multisort($ages, SORT_ASC, $users);
 
print_r($ages);
//输出结果:Array([0] => 18,[1] => 20,[2] => 22);
 
print_r($users);


2、使用usort()
usort($users,"cmp");
function cmp($a$b) {
    $c $a['age'];
    $d $b['age'];
    if($d == $c) {
        return 0;
    }
    return ($c<$d) ? -1 : 1;
}
 
print_r($users);



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多