-3

Possible Duplicate:
PHP sort multidimensional array by value

I would like to sort a multidimensional array based on a specific value (population in this case) while keeping the association (numerical indexes are of no importance).

array(
    array(
    'code'=>'usa',
    'name'=>'United States',
    'population'=>100
    ),
    array(
    'code'=>'de'
    'name'=>'Denmark',
    'population'=>20
    )
    array(
    'code'=>'tr'
    'name'=>'Turkey',
    'population'=>30
    )
);
Community
  • 1
  • 1
Dzhuneyt
  • 8,437
  • 14
  • 64
  • 118

1 Answers1

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);
472084
  • 17,666
  • 10
  • 63
  • 81