PHP二维数组怎么按某个字段排序?

先不说别的我们直接看二维数组按某个字段排序实例,代码如下:

  1. /**
  2. * @author yebihai
  3. * @desc 按二维数组的某一个字段进行升降排序
  4. * @data
  5. * $testData = array(
  6. array('price'=>19),
  7. array('price'=>121),
  8. array('price'=>115),
  9. array('price'=>113),
  10. array('price'=>112)
  11. );
  12. */
  13. class sortClass{
  14. //升序
  15. function sortArrayAsc($preData,$sortType='price'){
  16. $sortData = array();
  17. foreach ($preData as $key_i => $value_i){
  18. $price_i = $value_i[$sortType];
  19. $min_key = '';
  20. $sort_total = count($sortData);
  21. foreach ($sortData as $key_j => $value_j){
  22. if($price_i<$value_j[$sortType]){
  23. $min_key = $key_j+1;
  24. break;
  25. }
  26. }
  27. if(empty($min_key)){
  28. array_push($sortData, $value_i);
  29. }else {
  30. $sortData1 = array_slice($sortData, 0,$min_key-1);
  31. array_push($sortData1, $value_i);
  32. if(($min_key-1)<$sort_total){
  33. $sortData2 = array_slice($sortData, $min_key-1);
  34. foreach ($sortData2 as $value){
  35. array_push($sortData1, $value);
  36. }
  37. }
  38. $sortData = $sortData1;
  39. }
  40. }
  41. return $sortData;
  42. }
  43. //降序
  44. function sortArrayDesc($preData,$sortType='price'){
  45. $sortData = array();
  46. foreach ($preData as $key_i => $value_i){
  47. $price_i = $value_i[$sortType];
  48. $min_key = '';
  49. $sort_total = count($sortData);
  50. foreach ($sortData as $key_j => $value_j){
  51. if($price_i>$value_j[$sortType]){
  52. $min_key = $key_j+1;
  53. break;
  54. }
  55. }
  56. if(empty($min_key)){
  57. array_push($sortData, $value_i);
  58. }else {
  59. $sortData1 = array_slice($sortData, 0,$min_key-1);
  60. array_push($sortData1, $value_i);
  61. if(($min_key-1)<$sort_total){
  62. $sortData2 = array_slice($sortData, $min_key-1);
  63. foreach ($sortData2 as $value){
  64. array_push($sortData1, $value);
  65. }
  66. }
  67. $sortData = $sortData1;
  68. }
  69. }
  70. return $sortData;
  71. }
  72. }

后面整理一些关于数组排序的函数,数据排序函数有:

•sort() 函数用于对数组单元从低到高进行排序。

•rsort() 函数用于对数组单元从高到低进行排序。

•asort() 函数用于对数组单元从低到高进行排序并保持索引关系。

•arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。

•ksort() 函数用于对数组单元按照键名从低到高进行排序。

•krsort() 函数用于对数组单元按照键名从高到低进行排序。

•array_multisort() 函数对多个数组或多维数组进行排序