php - 关于中文按照拼音排序
大家讲道理
大家讲道理 2017-04-11 10:08:18
[PHP讨论组]
array('鑫','鹭','榕','柘','珈','骅','孚','迦','瀚','濮','浔','沱','泸','恺','怡','岷','萃','兖')

这个数组里的中文求按拼音首字母排序

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(5)
天蓬老师

Python 的話可以利用 pypinyin:

from pypinyin import lazy_pinyin

chars = ['鑫','鹭','榕','柘','珈','骅','孚','迦','瀚','濮','浔','沱','泸','恺','怡','岷','萃','兖']

chars.sort(key=lambda char: lazy_pinyin(char)[0][0])

print([lazy_pinyin(char) for char in chars])
print(chars)

結果:

[['cui'], ['fu'], ['hua'], ['han'], ['jia'], ['jia'], ['kai'], ['lu'], ['lu'], ['min'], ['pu'], ['rong'], ['tuo'], ['xin'], ['xun'], ['yi'], ['yan'], ['zhe']]
['萃', '孚', '骅', '瀚', '珈', '迦', '恺', '鹭', '泸', '岷', '濮', '榕', '沱', '鑫', '浔', '怡', '兖', '柘']

以上排序 僅按拼音首字母 排序


我回答過的問題: Python-QA

高洛峰

转成gbk编码,然后用任意排序算法即可

PHP中文网

pinyin4j

PHPz

应该可以算出每个汉字的首字母,应该有这种封装好的类,看你用什么语言了,然后在进行排序

伊谢尔伦

发现一个php的函数 叫collator_sort(),可以排序,但是如果是联动排序就比较麻烦,之前做的东西是通过array_multisort联动排序的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号