ну так на вскидку, без проверки работоспособности...

PHP код:
function sort($mas,$ii,$jj,$k) //mas - входной массив, ixj - размерность, k - столбец по которому сортируем
{
stat=0;
for($i=0;$i<=$ii;$i++){
$tmp_m[$i]=$mas[$i][$k]; //заполняем промежуточный массив значениями столбца по которому будем сортировать
$tmp_i[$i]=$i; //промежуточный массив с индексами по строкам
}
//сортируем промежуточный массив по возрастанию, соответственно изменится массив индексов
for($i=0;$i<=$ii;$i++){
$min=$tmp_m[$i];
for($j=$i;$j<=$ii;$j++){
if($min<$tmp_m[$j]){
$tmp_m[$i]=$tmp_m[$j]; //тут у нас сортируется сам массив, обмен
$min=$tmp_m[$j]; //значениями элементов массива
$tmp_m[$j]=$tmp; //
$tmp_i[$i]=$j; //а тут идексы выстраиваются
$tmp_i[$j]=$i; //
}
}
}
//получили отсортированный массив с индексами по возрастанию
//теперь организуем выходной массив
for($i=0;$i<=$ii;$i++){
$tmp=tmp_i[$i];
for($j=0;$j<=$jj;$j++){
$out[$i][$j]=$mas[$tmp][$j];
}
}
return $out;
}
ну что то типа этого... за работоспособность не отвечаю

не проверял

просто предложил возможную реализацию