Anonymous
Сортировка строк 2d-массива по столбцу значений с плавающей запятой в направлении убывания [дубликат]
Сообщение
Anonymous » 14 янв 2025, 14:25
У меня есть массив $scores, как показано ниже.
Я пытаюсь отсортировать массив на основе числового значения в порядке убывания. Я пробовал определять функции, как предложено здесь, и другими способами, но не смог этого сделать.
Код: Выделить всё
array (
0 => array ( 0 => 'B.Howell', 1 => 16.8, ),
1 => array ( 0 => 'B.Osweiler', 1 => 14.88, ),
2 => array ( 0 => 'K.Ballage', 1 => 13.7, ),
3 => array ( 0 => 'F.Owusu', 1 => 8.8, ),
4 => array ( 0 => 'I.Ford', 1 => 6.3, ),
5 => array ( 0 => 'B.Radcliff', 1 => 6.4, ),
6 => array ( 0 => 'D.Fales', 1 => 3.96, ),
7 => array ( 0 => 'L.Carroo', 1 => 4.9, ),
8 => array ( 0 => 'R.Scott', 1 => 2.5, ),
9 => array ( 0 => 'M.Lewis', 1 => 2.4, ),
10 => array ( 0 => 'T.Duarte', 1 => 3.2, ),
11 => array ( 0 => 'J.Langford', 1 => 2.8, ),
12 => array ( 0 => 'A.Derby', 1 => 1.1, ),
13 => array ( 0 => 'D.Morgan', 1 => 1.2, ),
)
Решения, предлагаемые с помощью usort Я пробовал ранее, но не смог заставить их работать и до сих пор не могу. Он имеет тенденцию сортировать массив в некотором роде по убыванию, однако все еще существуют выбросы, см. следующие изображения до и после.
Код: Выделить всё
function mySort($a, $b) {
return $b[1] - $a[1];
}
usort($scores, 'mySort');
< img alt="ПОСЛЕ ИЗОБРАЖЕНИЯ" src="
https://i.sstatic.net/l4RH5.png " />
Подробнее здесь:
https://stackoverflow.com/questions/521 ... -direction
1736853942
Anonymous
У меня есть массив $scores, как показано ниже. Я пытаюсь отсортировать массив на основе числового значения в порядке убывания. Я пробовал определять функции, как предложено здесь, и другими способами, но не смог этого сделать. [code]array ( 0 => array ( 0 => 'B.Howell', 1 => 16.8, ), 1 => array ( 0 => 'B.Osweiler', 1 => 14.88, ), 2 => array ( 0 => 'K.Ballage', 1 => 13.7, ), 3 => array ( 0 => 'F.Owusu', 1 => 8.8, ), 4 => array ( 0 => 'I.Ford', 1 => 6.3, ), 5 => array ( 0 => 'B.Radcliff', 1 => 6.4, ), 6 => array ( 0 => 'D.Fales', 1 => 3.96, ), 7 => array ( 0 => 'L.Carroo', 1 => 4.9, ), 8 => array ( 0 => 'R.Scott', 1 => 2.5, ), 9 => array ( 0 => 'M.Lewis', 1 => 2.4, ), 10 => array ( 0 => 'T.Duarte', 1 => 3.2, ), 11 => array ( 0 => 'J.Langford', 1 => 2.8, ), 12 => array ( 0 => 'A.Derby', 1 => 1.1, ), 13 => array ( 0 => 'D.Morgan', 1 => 1.2, ), ) [/code] Решения, предлагаемые с помощью usort Я пробовал ранее, но не смог заставить их работать и до сих пор не могу. Он имеет тенденцию сортировать массив в некотором роде по убыванию, однако все еще существуют выбросы, см. следующие изображения до и после. [code]function mySort($a, $b) { return $b[1] - $a[1]; } usort($scores, 'mySort'); [/code] [img]https://i.sstatic.net/m7Ap4.png[/img] < img alt="ПОСЛЕ ИЗОБРАЖЕНИЯ" src="https://i.sstatic.net/l4RH5.png" /> Подробнее здесь: [url]https://stackoverflow.com/questions/52137741/sort-rows-of-a-2d-array-by-a-column-of-float-values-in-a-descending-direction[/url]