本文实例讲述了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