2013-12-18 4 views
0
$my_array_to_sort=[['id'=>19381881,'value'=>4],['id'=>19970711,'value'=>65],['id'=>19231029,'value'=>18]]; 

Как я могу отсортировать этот массив, чтобы получить такой массив?Как я могу отсортировать значения в массиве

(sort by 'value', от высокой к низкой);

$my_sorted_array=[ 
         ['id'=>19970711,'value'=>65], 
         ['id'=>19231029,'value'=>18], 
         ['id'=>19381881,'value'=>4], 
        ]; 
+3

RTFM: php.net/usort – Benubird

+0

[Лоты идей здесь] (http://stackoverflow.com/search?q=%5Bphp%5D+sort+2d+array), вы ищете сортировку 2D-массива. –

+0

Пожалуйста, проверьте руководство по PHP, затем google, затем выполните поиск SO перед публикацией на SO. Все трое ответили бы вам. –

ответ

0

Я сделал эту функцию для сортировки каждого многомерного массива по одному из его столбцов:

function sortArrayBy($array , $column_name,$sort=SORT_DESC){ 
    foreach ($array as $key => $row) { 
    $column[$key] = $row[$column_name]; 
    } 
    array_multisort($column, $sort, $array); 
    return $array; 
} 

вызовов это так:

<?php $my_sorted_array = sortArrayBy($my_array_to_sort,'value') ; ?> 
Смежные вопросы