2012-06-19 3 views
-3

Можно создать дубликат:
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 
    ) 
); 

ответ

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); 
Смежные вопросы