按字母顺序排序基于前几个字符串的数组

时间:2012-08-02 21:50:12

标签: php arrays string

我想对一个通常包含姓名和电子邮件地址的数组进行排序。问题是电子邮件地址显示在最后,即使它们可能以'a'开头

e.g。

$myarray = ("Alex Mayfeild", "David Beckham", "Oliver Twist", "ant.stev@wherever.com", "peter.pan@neverland.com", ........) //and so on

使用php的排序函数排序数组时,“ant.stev@wherever.com”将显示接近结尾,即使我希望实现的功能是让他出现在Alex之后。

基于自然排序的natcasesort和natsource函数似乎失败了。 更正:natcasesource工作时按照文档中的说明返回true。谢谢@meagar

无论如何都要实现所要求的功能。谢谢你的帮助。这是非常赞赏。

2 个答案:

答案 0 :(得分:2)

sort()区分大小写,因为它根据字母ASCII值进行排序。

尝试natcasesort(),如果你也想“使用不区分大小写的'自然顺序'算法对数组进行排序”。

答案 1 :(得分:-1)

我觉得sort($myarray, SORT_STRING|SORT_FLAG_CASE);应该按照你想要的方式对数组进行排序。