php教程

超轻量级php框架startmvc

PHP实现数组根据某个单元字段排序操作示例

更新时间:2020-03-28 22:33 作者:startmvc
本文实例讲述了PHP实现数组根据某个单元字段排序操作。分享给大家供大家参考,具体如下

本文实例讲述了PHP实现数组根据某个单元字段排序操作。分享给大家供大家参考,具体如下:

如题,给出一个PHP数组,数组结构如下:


$arr = array(
 array(
 'name'=>'sadas',
 'norder'=>1
 ),
 array(
 'name'=>'sadas',
 'norder'=>11
 ),
 array(
 'name'=>'sadas',
 'norder'=>123
 ),
 array(
 'name'=>'sadas',
 'norder'=>11
 )
);

需要是需要按照norder从大到小的顺序,重新排列$arr数组的顺序。

可以使用array_multisort函数来帮助排序:


function p($arr){
 echo "<pre>";
 print_r($arr);
 echo "</pre>";
}
$arr = array(
 array(
 'name'=>'sadas',
 'norder'=>1
 ),
 array(
 'name'=>'sadas',
 'norder'=>11
 ),
 array(
 'name'=>'sadas',
 'norder'=>123
 ),
 array(
 'name'=>'sadas',
 'norder'=>11
 )
);
$flag = array();
foreach($arr as $v){
 $flag[] = $v['norder'];
}
array_multisort($flag, SORT_DESC, $arr);
p($arr);

运行结果:

Array (     [0] => Array         (             [name] => sadas             [norder] => 123         )     [1] => Array         (             [name] => sadas             [norder] => 11         )     [2] => Array         (             [name] => sadas             [norder] => 11         )     [3] => Array         (             [name] => sadas             [norder] => 1         ) )

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具: http://tools.jb51.net/aideddesign/paixu_ys