欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

二维数组排序

程序员文章站 2024-01-03 16:57:58
...
<?php
function arr_sort($data){
  
  $len = count($data);
  
  for($i=0;$i<$len;$i++){
  
$ilen = count($data[$i]);
for($j=0;$j < $ilen;$j++){
 
 $m = $data[$i][$j];
 $mpos1 = $i;
 $mpos2 = $j;
 if( !isset($data[$i][$j+1]) ){
$ii = $i+1;
$jj = 0;
 }else{
$ii = $i;
$jj = $j+1;
 }
 for($ii; $ii<$len; $ii++){
$iilen = count($data[$ii]);
for($jj; $jj<$iilen; $jj++){
 if($m > $data[$ii][$jj]){
$m = $data[$ii][$jj];
$mpos1 = $ii;
$mpos2 = $jj;
 }
 if($jj == ($iilen-1)){
$jj = 0;
break;
 }
}
 }
 if($i!=$mpos1 || $j!=$mpos2){
$data[$i][$j] = ($data[$i][$j] + $data[$mpos1][$mpos2]);
$data[$mpos1][$mpos2] = ($data[$i][$j] - $data[$mpos1][$mpos2]);
$data[$i][$j] = ($data[$i][$j] - $data[$mpos1][$mpos2]);
 }
 if($j == ($ilen-1)){
$j = 0;
break;
 }
}
  }
  return $data;
}
$data[0] = array(5,8,11,55,77);
$data[1] = array(1,2,3,9);
print_r(arr_sort($data));

上一篇:

下一篇: