Этот код не работает должным образом, но он предлагает то, что я пытаюсь сделать:
function sort_2d_by_index($a,$i) {
function cmp($x, $y) {
// Nested function, can't find $i
// (global $i defeats the purpose of passing an arg)
if ($x[$i] == $y[$i]) { return 0; }
return ($x[$i] < $y[$i]) ? -1 : 1;
}
usort($a,"cmp");
return $a;
}
Должен быть намного лучший способ сделать это.Я изучал ksort()
, multisort()
и все виды, пока не устаю пытаться разобраться во всем.
Ситуация такова: у меня есть 2-d массив ...
array(
array(3,5,7),
array(2,6,8),
array(1,4,9)
);
... и я хочу отсортировать по индексу столбца.Скажем, столбец [1]
даст такой результат:
array(
array(1,4,9),
array(3,5,7),
array(2,6,8)
);
Есть ли у кого-то ссылка (я уверен, что об этом спрашивали раньше), или кто-то может сказать: «Вам нужен foosort
, определенно».Большое спасибо.