$arr[0][0]=3; $arr[1][0]=1; $arr[2][0]=2; $arr[3][0]=5; $arr[4][0]=4;
echo "そーと前だよ<br>";
foreach($arr as $key=>$val) echo "\$arr[".$key."][0]=".$val[0]."<br>";
$arr=qsort($arr,0); //ソートする
echo "そーと後だよ<br>";
foreach($arr as $key=>$val) echo "\$arr[".$key."][0]=".$val[0]."<br>";

///////////////////////////////////////////////////////////
//引数:[$arr]2次元配列、[$sort_column]該当列の正順にソート
//返値:ソートされた配列
function qsort($arr,$sort_column){
 sort_main($arr,$sort_column,0,count($arr)-1); //ソートメイン関数へ
 return $arr;
}
//ソートメイン
function sort_main(&$tmp,$sort_column,$left,$right){
 $middle=(int)(($left+$right)/2);
 if($left >= $right){
  return;
 }
 $tmp_sub=$tmp[$left];
 $tmp[$left]=$tmp[$middle];
 $tmp[$middle]=$tmp_sub;
 $last=$left;
 for($count=$left+1; $count<=$right; $count++){
  if($tmp[$count][$sort_column]<$tmp[$left][$sort_column]){
   $last++;
   $tmp_sub=$tmp[$last];
   $tmp[$last]=$tmp[$count];
   $tmp[$count]=$tmp_sub;
  }
 }
 $tmp_sub=$tmp[$left];
 $tmp[$left]=$tmp[$last];
 $tmp[$last]=$tmp_sub;
 sort_main(&$tmp,$sort_column,$left,$last-1);
 sort_main(&$tmp,$sort_column,$last+1,$right);
}