<?php
$arr=array(array('A','b',1),//這是一個亂序的二維數組樣本(3列8行)
array('B','a',2),
array('A','c',3),
array('A','a',3),
array('B','c',0),
array('A','d',1),
array('B','a',2),
array('A','d',0));
function compare($x,$y)
/******************************************************************
自定義二維數組組合排序比較方式,自定義的組合排序方式為(列0+列2+列1),
如果用sort()函數排序,其預設是按所有列依順序組合來排序。
******************************************************************/
{
if($x[0]==$y[0])
{
if($x[2]==$y[2])
{
if($x[1]==$y[1])
return 0;
else if($x[1]<$y[1])
return -1;
else
return 1;
}
else if($x[2]<$y[2])
return -1;
else
return 1;
}
else if($x[0]<$y[0])
return -1; //可以任意負數
else
return 1; //可以任意正數
}
usort($arr,'compare');//執行自定義排序函數
echo "<pre />";
print_r($arr);
?>