php 中英文數組排序

來源:互聯網
上載者:User
php 數組同時包含中英文,怎麼對數組按首個單詞或者漢字排序

回複內容:

php 數組同時包含中英文,怎麼對數組按首個單詞或者漢字排序

PHP有很多對數組進行排序的函數。

比如最基本的sortrsort(加r的代表逆序,下同);
自然排序的natsort(自然排序就是對數字按照大小排序,而不是根據ASCII碼排序)以及忽略大小寫natcasesort
保持鍵-值索引關係的asortarsort
依據鍵進行排序的ksortkrsort
如果你不滿意內建的定序,你還可以自己編寫函數確定定序的usortuasortuksort(對應沒有u的上述函數);
還有可以對多個數組排序,並且只保持關聯陣列的鍵-值索引關係的array_multisort

這麼多排序總有一款適合你。
具體請參閱文檔。

ls排序:1 11 111 112 12 121 122 a aa aaa aab ab aba abb 阿里 百度 中 中國 中國國 中國中 中中 中中國 中中中collator_sort(zh_CN)排序(類似Windows/Linux案頭檔案管理工具裡的預設按名稱上升排列):1 11 12 111 112 121 122 a aa aaa aab ab aba abb 阿里 百度 中 中國 中國國 中國中 中中 中中國 中中中strnatcmp排序:1 11 12 111 112 121 122 a aa aaa aab ab aba abb 中 中中 中中中 中中國 中國 中國中 中國國 百度 阿里strcmp排序:1 11 111 112 12 121 122 a aa aaa aab ab aba abb 中 中中 中中中 中中國 中國 中國中 中國國 百度 阿里

使用strcmp字串比較排序其實就已經能夠滿足你的需求.
strnatcmp自然排序跟strcmp字串比較排序主要區別在於數字,strnatcmp處理後的數字元素是由小到大排序,存在大小關係.
而ICU擴充intl裡的簡體中文排序器collator_sort(zh_CN)排序主要能夠根據漢字的拼音進行排序,比如Ali,Baidu,ZhongGuo.感興趣還可以看下我的這篇文章 PHP利用ICU擴充intl快速實現漢字轉拼音以及按拼音首字母分組排序 ,漢字轉拼音就一個函數的事:

echo transliterator_transliterate('Any-Latin; Latin-ASCII; Upper()', '中華有為');//輸出 ZHONG HUA YOU WEI
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.