2011-01-17 5 views
1

У меня есть массив, Пример:Сортировка массива на основе его значения

$array { 
[0] { 
    [something]=1; 
    [something2]=2; 
    } 
[1] { 
    [something]=2; 
    [something2]=4; 
    } 
[2] { 
    [something]=5; 
    [something2]=2; 
    } 
} 

Я хочу заказать массив на основе ключа что-то;

Так это будет выглядеть:

$array { 
[0] { 
    [something]=5; 
    [something2]=2; 
    } 
[1] { 
    [something]=2; 
    [something2]=4; 
    } 
[2] { 
    [something]=1; 
    [something2]=2; 
    } 
} 
+0

Что это за сортировка? Разве массив не реверсирован (http://www.php.net/manual/en/function.array-reverse.php)? –

+0

ну в этом примере оно было отменено, но массив упорядочен на основе значения ключа что-то, если у вас есть взгляд ... – Max2Min

ответ

5
function compare($x, $y) { 
    return $x['something'] - $y['something']; 
} 

usort($input_array, 'compare'); 

вам нужно использовать usort(), аналогичные приведенным выше.

+0

+1 для очевидного. Я добавил ссылку на 'usort()' manual. –

+0

+1 потому что я этого не знал. Я просто написал алгоритм для его сортировки вручную! –

+0

Спасибо, отлично работает и сохранил много времени, я думал о том, чтобы сделать это сложным способом. – Max2Min

0

Можно ли достаточно?

foreach($array as $key => $value){ 
    ksort($array[$key]); 
} 
+0

нет, это похоже на ключ – Max2Min

+0

Ах, извините - я думал, это то, что вы хотели сделать ; сортировать по клавишам «что-то». –

+0

np, но спасибо за попытку, решение опубликовано dqhendricks – Max2Min

Смежные вопросы