按值排序多维数组

时间:2012-06-19 10:00:39

标签: php

  

可能重复:
  PHP sort multidimensional array by value

我想基于特定值(在这种情况下为人口)对多维数组进行排序,同时保持关联(数字索引不重要)。

array(
    array(
    'code'=>'usa',
    'name'=>'United States',
    'population'=>100
    ),
    array(
    'code'=>'de'
    'name'=>'Denmark',
    'population'=>20
    )
    array(
    'code'=>'tr'
    'name'=>'Turkey',
    'population'=>30
    )
);

1 个答案:

答案 0 :(得分:2)

usort($array, function($a, $b){
    $a = $a['population'];
    $b = $b['population'];

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

print_r($array);