1

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

例如

$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

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

4

2 回答 2

2

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

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

于 2012-08-02T21:55:40.740 回答
-1

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

于 2012-08-02T21:55:29.913 回答