簡體   English   中英

array_multisort()小寫字母的字母排序問題

[英]array_multisort() alphabetizing issues with lowercase letters

我有一個個人數據庫,需要按姓氏的字母順序對它們進行排序。 基本上:

array_multisort($arr['a'],SORT_ASC,$arr['b'], etc...)

我最初是在SORT_ASC之后輸入SORT_STRING,但對我來說似乎沒有什么不同,所以我刪除了它。

無論如何,按字母順序排列的效果很好,除了一些以小寫的“ d”開頭的法語名稱(例如)。 “德·圖薩德”。 它以“ Z”開頭的名稱在最末尾轉儲了這些名稱。

當我將“ d”大寫時,它可以正常工作。

無論如何,我可以做些什么來使其正常工作?

如本示例http://php.net/manual/en/function.array-multisort.php#example-6112中所述,您應按原始數組的小寫副本進行排序。 因此,如果您需要示例中的$arr['a']保持原樣,

$lowercase = array_map('strtolower', $arr['a']);

接着

array_multisort($lowercase, SORT_ASC, SORT_STRING, $arr['b']);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM