如何按字母顺序对PHP中的数组进行排序?

时间:2011-08-26 16:29:58

标签: php arrays codeigniter

  

可能重复:
  How to sort a multi dimensional array in PHP alphabetically?
  PHP : Sort array alphabetically

我正在使用Codeigniter和Phils RESTserver开发API。 在此API中,我访问包含用户的数据库。

我想在输出之前对这些用户进行排序。 我怎样才能做到这一点?我尝试了以下代码,但这不起作用。

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

这是我的JSON格式的数据。

http://pastie.org/2402372

如何更改上述内容以对此输出进行排序(采用PHP数组格式,而不是JSON格式)。

感谢所有人的帮助!

3 个答案:

答案 0 :(得分:1)

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

    if ($a == $b) {
        return 0;
    }

    return ($a < $b) ? -1 : 1;
}

uasort($array['contacts'],'sort_by_lastname');

答案 1 :(得分:-1)

答案 2 :(得分:-2)

在问这里之前检查PHP.net。快速搜索会发现PHP的asort()函数:http://php.net/asort