Как отсортировать многомерный массив в PHP по алфавиту? - PullRequest
0 голосов
/ 20 августа 2011

Мой API, написанный на PHP (Codeigniter), выводит пользователей на основе выбранного ключевого слова, как я могу отсортировать этот массив в алфавитном порядке перед его выводом в JSON.

Это вывод:

http://pastie.org/2402372

Благодарен за все комментарии!

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

Это работает. Испытано, проверено и верно:

function sort_by_lastname($a, $b) {
    $a = trim($a['user']['basic'][0]['lastname']);
    $b = trim($b['user']['basic'][0]['lastname']);
    return strcmp($a,$b);
}

uasort($array['contacts'],'sort_by_lastname');
1 голос
/ 20 августа 2011

Вы можете использовать usort для этого: http://php.net/manual/en/function.usort.php

Что позволяет сортировать, используя собственную функцию.

Пример:

$users = $your_array['contacts'];
// or $users = $your_array->contacts;

usort ($users, 'sort_by_lastname');

$your_array['contacts'] = $users;
// or $your_array->contacts = $users; if it's json instead of array

function sort_by_lastname($a, $b)
{
    return strcmp($a['user']['basic']['lastname'], $b['user']['basic']['lastname']);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...