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);