PHP имеет usort
, функцию, позволяющую вам сортировать с помощью предоставленной пользователем функции сравнения.Также есть uasort
, который поддерживает связь с индексом.
Вот пример:
<?php
$array = Array(
9 => Array(
15.00 => 3.0,
20.00 => 8.0,
25.00 => 10.5
),
2 => Array(
15.00 => 2.0,
20.00 => 5.0,
25.00 => 2.5
),
4 => Array(
15.00 => 6.0,
25.00 => 4.0,
30.00 => 6.0
)
);
function my_func($a, $b) {
if ($a[15.00] == $b[15.00])
return 0;
return ($a[15.00] < $b[15.00]) ? 1 : -1; // backwards sorting
}
uasort($array, my_func);
var_dump($array);
?>
И вот оно работает .
Надеюсь, это поможет.