2013-11-15 2 views
0

У меня есть следующий код, потому что я хочу, чтобы отсортировать массив по полю chat_timestamp:Заказать массив с помощью rsort()

enter image description here

Мой PHP код находится рядом, но это, кажется, не работает:

function compare($a, $b) 
    { 
     return strnatcmp($a["chat_timestamp"], $b["chat_timestamp"]); 
    } 

    rsort($return, "compare"); 

Как я должен это делать. Как я вижу, это массив массивов, но я не знаю, как с этим справиться.

+0

Используйте [usort] (http://us1.php.net/usort) вместо 'ksort' –

+0

Он работает, но я хочу сортировать по временной отметке времени. Есть ли какая-то функция, которая мне помогает? – MarcForn

+0

Просто измените порядок своих аргументов в 'strnatcmp' внутри обратного вызова –

ответ

3

Вы используете rsort, но вместо этого должны использовать usort.

Второй параметр rsort: sort_flags и usortcallback function.

+0

usort теперь работает. Но я хочу сортировать по временной отметке времени. Есть ли какая-то функция, которая мне помогает? – MarcForn

+0

изменить порядок аргументов :) 'strnatcmp ($ b [" chat_timestamp "], $ a [" chat_timestamp "]);' –

+0

Excelent. Он работает отлично. – MarcForn

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