>  기사  >  백엔드 개발  >  2차원 배열 정렬

2차원 배열 정렬

巴扎黑
巴扎黑원래의
2016-11-22 15:56:55945검색

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP 빠른 정렬다음 기사:PHP 빠른 정렬