сортировка массива с неизвестными ключами и сохранение индекса ассоциации в php - PullRequest
2 голосов
/ 22 февраля 2012

У меня есть массив со значениями статистики, взятой из 2 казней, и их разницей.название статистики является ключевым, и оно мне неизвестно.Я хочу сохранить индексную ассоциацию

, как это

$array["statistic_name_1"][0] = 5
$array["statistic_name_1"][1] = 4
$array["statistic_name_1"][2] = 1   

$array["statistic_name_2"][0] = 10
$array["statistic_name_2"][1] = 4
$array["statistic_name_2"][2] = 6

$array["statistic_name_3"][0] = 15
$array["statistic_name_3"][1] = 10
$array["statistic_name_3"][2] = 5

...

, и я хочу отсортировать его по убыванию в соответствии с разницей в выполнении (это [ключ] [2])

Я попытался asort, но я не могу найти способ, чтобы сказать, чтобы сортировать в соответствии с разницей

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

Попробуйте что-то вроде этого:

function cmp($a, $b)
{
    return $b[2] - $a[2]
}

uasort($array, "cmp");

http://www.php.net/manual/en/function.uasort.php

Чтобы поместить все это в одну строку, вы можете сделать:

uasort($array, function($a, $b){ return $b[2] - $a[2] });
0 голосов
/ 22 февраля 2012

Используйте uasort для поддержания связи ключей

uasort($array,function ($a,$b){
    if ($a[2] == $b[2]) {
        return 0;
    }
    return ($a[2] > $b[2]) ? -1 : 1;
});
...