关于php:按值排序多维数组


Sort Multidimensional Array by Value

本问题已经有最佳答案,请猛点这里访问。

0

我希望在保持关联(数字索引不重要)的同时,基于特定值(在本例中是填充)对多维数组进行排序。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
array(
    array(
    'code'=>'usa',
    'name'=>'United States',
    'population'=>100
    ),
    array(
    'code'=>'de'
    'name'=>'Denmark',
    'population'=>20
    )
    array(
    'code'=>'tr'
    'name'=>'Turkey',
    'population'=>30
    )
);

1
2
3
4
5
6
7
8
9
usort($array, function($a, $b){
    $a = $a['population'];
    $b = $b['population'];

    if ($a == $b) { return 0; }
    return ($a < $b) ? -1 : 1;
});

print_r($array);