2012-09-05 2 views
2

Несмотря на то, что я прочитал документацию по PHP, и это похоже на часто задаваемые вопросы, это все равно дает мне головную боль.PHP: как отсортировать массив по ключам численно?

У меня есть массив как это который держит месяцы года:

[12] => december 
[4] => april 
[3] => march 
[6] => june 
[7] => july 
[10] => october 

...and so on 

Порядок не так, как должно быть. Я хочу изменить порядок ключей. Я могу поменять клавиши со значениями, если захочу, но пока каждое числовое значение будет соответствовать соответствующему месяцу, они никогда не будут в порядке. Поэтому я подумал о том, чтобы привести их в порядок через PHP.

Я попытался с $calendar = ksort($myarray);

Но если я пытаюсь напечатать $calendar, я только получить BOOL = TRUE или массив с одним ключом и «1» в качестве значения ... Я планировал использовать ksort в результате получится позже, но я не могу.

Что я делаю неправильно?

ответ

4

Нет .. просто использовать:

ksort($myarray); 
print_r($myarray) 

Codepad example

ksort() сортирует массив по ключам, сохраняя ключ к корреляции данных, возвращает TRUE на успех или FALSE на провал, если вы ассоциировать $calendar с ksort() вы получите то, что ksort возвращается.

+0

спасибо, я только что получил это - я не понял, что скачал PHP-руководство, и предположил, что мне пришлось хранить отсортированный массив в переменной – unfulvio

0
ksort($arr); 
foreach ($arr as $key => $val) 
{ 
    echo "$key = $val\n"; 
}