• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

php汉字排序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

<?php
header("content-type:text/html;charset=utf-8");
$array=array('重庆市','上海市','安徽省','吉林省','天津市','内蒙古自治区','沈阳市','浙江省','广东省','云南省');
foreach($array as $value){
$arr[]=iconv('UTF-8', 'GBK', $value);
}
$res=asort($arr);
var_dump($arr);
#array(10) { [0]=> string(9) "安徽省" [1]=> string(9) "广东省" [2]=> string(9) "吉林省" [3]=> string(18) "内蒙古自治区" [4]=> string(9) "上海市" [5]=> string(9) "沈阳市" [6]=> string(9) "天津市" [7]=> string(9) "云南省" [8]=> string(9) "浙江省" [9]=> string(9) "重庆市" }
foreach($arr as $val){
$arrs[]=iconv('GBK','UTF-8',$val);
}
var_dump($arrs);
#array(10) { [0]=> string(9) "安徽省" [1]=> string(9) "广东省" [2]=> string(9) "吉林省" [3]=> string(18) "内蒙古自治区" [4]=> string(9) "上海市" [5]=> string(9) "沈阳市" [6]=> string(9) "天津市" [7]=> string(9) "云南省" [8]=> string(9) "浙江省" [9]=> string(9) "重庆市" }


foreach($array as $value){
$arr[]=iconv('UTF-8', 'GB2312', $value);
}
$res=asort($arr);

foreach($arr as $val){
$arrs[]=iconv('GB2312','UTF-8',$val);
}
var_dump($arrs);

#array(10) { [0]=> string(9) "安徽省" [1]=> string(9) "广东省" [2]=> string(9) "吉林省" [3]=> string(18) "内蒙古自治区" [4]=> string(9) "上海市" [5]=> string(9) "沈阳市" [6]=> string(9) "天津市" [7]=> string(9) "云南省" [8]=> string(9) "浙江省" [9]=> string(9) "重庆市" }


?>

 

不管是GBK还是GB2312在汉字排序的时候,有多音字的情况会导致排序不准确,例如重庆(chong)会被认为是zhong,从而导致排序不准确,所以在做汉字排序的时候,最好能用二维数组,将汉字和拼音都存在一起,这样比较好排序。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
URL重写是实现PHP伪静态发布时间:2022-07-10
下一篇:
php7.1安装发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap