PHP实现对二维数组某个键排序的方法
本文实例讲述了PHP实现对二维数组某个键排序的方法。分享给大家供大家参考,具体如下:
/** *对查询结果集进行排序 *@accesspublic *@paramarray$list查询结果 *@paramstring$field排序的字段名 *@paramstring$sortby排序类型(asc正向排序desc逆向排序nat自然排序) *@returnarray */ functionlist_sort_by($list,$field,$sortby='asc') { if(is_array($list)) { $refer=$resultSet=array(); foreach($listas$i=>$data) { $refer[$i]=&$data[$field]; } switch($sortby) { case'asc'://正向排序 asort($refer); break; case'desc'://逆向排序 arsort($refer); break; case'nat'://自然排序 natcasesort($refer); break; } foreach($referas$key=>$val) { $resultSet[]=&$list[$key]; } return$resultSet; } returnfalse; } /** *例子 *求:根据二维数组的id键值降序排列(也就是id越大的排在越前)? */ $list=array( 0=>array( 'id'=>1, 'name'=>'第一' ), 1=>array( 'id'=>3, 'name'=>'第三' ), 2=>array( 'id'=>2, 'name'=>'第二' ), 3=>array( 'id'=>4, 'name'=>'第四' ), ); //解答 $new_list=list_sort_by($list,'id','desc'); print_r($new_list);
运行结果如下:
Array ( [0]=>Array ( [id]=>4 [name]=>第四 ) [1]=>Array ( [id]=>3 [name]=>第三 ) [2]=>Array ( [id]=>2 [name]=>第二 ) [3]=>Array ( [id]=>1 [name]=>第一 ) )
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。