当前位置:Gxlcms > PHP教程 > 二维数组排序

二维数组排序

时间:2021-07-01 10:21:17 帮助过:3人阅读

  1. <?php
  2. function arr_sort($data){
  3. $len = count($data);
  4. for($i=0;$i<$len;$i++){
  5. $ilen = count($data[$i]);
  6. for($j=0;$j < $ilen;$j++){
  7. $m = $data[$i][$j];
  8. $mpos1 = $i;
  9. $mpos2 = $j;
  10. if( !isset($data[$i][$j+1]) ){
  11. $ii = $i+1;
  12. $jj = 0;
  13. }else{
  14. $ii = $i;
  15. $jj = $j+1;
  16. }
  17. for($ii; $ii<$len; $ii++){
  18. $iilen = count($data[$ii]);
  19. for($jj; $jj<$iilen; $jj++){
  20. if($m > $data[$ii][$jj]){
  21. $m = $data[$ii][$jj];
  22. $mpos1 = $ii;
  23. $mpos2 = $jj;
  24. }
  25. if($jj == ($iilen-1)){
  26. $jj = 0;
  27. break;
  28. }
  29. }
  30. }
  31. if($i!=$mpos1 || $j!=$mpos2){
  32. $data[$i][$j] = ($data[$i][$j] + $data[$mpos1][$mpos2]);
  33. $data[$mpos1][$mpos2] = ($data[$i][$j] - $data[$mpos1][$mpos2]);
  34. $data[$i][$j] = ($data[$i][$j] - $data[$mpos1][$mpos2]);
  35. }
  36. if($j == ($ilen-1)){
  37. $j = 0;
  38. break;
  39. }
  40. }
  41. }
  42. return $data;
  43. }
  44. $data[0] = array(5,8,11,55,77);
  45. $data[1] = array(1,2,3,9);
  46. print_r(arr_sort($data));

人气教程排行