php
$pinyin = array( array('name'=>'梁朝伟','age'=>23), array('name'=>'andy','age'=>24), array('name'=>'黎明','age'=>19), array('name'=>'郭富城','age'=>20) );
name字段转为拼音然后按字母排序,如果第一个字母相同比较第二个,希望结果为
php
$pinyin = array( array('name'=>'andy','age'=>24), array('name'=>'郭富城','age'=>20) array('name'=>'梁朝伟','age'=>23), array('name'=>'黎明','age'=>19), );
找到汉字转拼音库
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
最近也碰到了要对汉字排序的问题, Collator 效果还不错, 参考 Comparing UTF-8 String
实际前后:
=>
楼上正解,手册看一下array_multisort()
不懂楼主的做法,汉字排序时本来就是按拼音顺序排的,因为汉字编码表本身就是按照字母顺序来的。echo "梁朝伟" < "黎明" 得到true
拼音排序还要用拼音库的都太缺乏基础知识了。
@incNick 其实GBK编码也不是完全按照首字母排序的,你可以去查一查GBK编码表,希望大家不要被误导