二维数组排序

[b]二维数组排序[/b]

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值