php中文数组排序:非GBK编码的中文数组排序

12,188次阅读
4 条评论

共计 505 个字符,预计需要花费 2 分钟才能阅读完成。

提醒:本文最后更新于2018-12-24 09:03,文中所关联的信息可能已发生改变,请知悉!

PHP内置了很多排序函数,对于中文字符,可以当作字符串的方式进行排序。但是如果希望按照汉语拼音的顺序排列,则需要转换为GBK编码进行排序。因为 GBK 的中文本身即按照汉字拼音顺序编码,故可先转换为 GBK 编码字符排序,然后再转换为 utf8 即可。以下为 utf8 编码中文数组排序示例:

/*
* 非GBK编码的中文数组排序
* 由于GBK的中文本身即按照汉字拼音顺序编码,故可转换为GBK编码字符排序,然后再转换为utf8即可
*/
function utf8_array_asort(&$array) {
if(!isset($array) || !is_array($array)) {
return false;
}
foreach($array as $k=>$v) {
$array[$k] = trim($v);
$array[$k] = iconv('UTF-8', 'GBK//IGNORE',$v);
}
asort($array);
foreach($array as $k=>$v) {
$array[$k] = iconv('GBK', 'UTF-8//IGNORE', $v);
}
return true;
}

正文完
 0
任侠
版权声明:本站原创文章,由 任侠 于2012-09-07发表,共计505字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(4 条评论)
验证码
ARM 评论达人 LV.1
2018-12-21 19:28:13 回复
Google Chrome 68.0.3440.84 Google Chrome 68.0.3440.84 GNU/Linux x64 GNU/Linux x64

实用文章 :razz:

 Linux  Chrome  中国广东省深圳市电信
2012-09-17 21:31:35 回复

http://lzw.me/介绍很不错

     中国湖北省武汉市联通
2012-09-17 21:31:05 回复

很不错

     中国湖北省武汉市联通
2012-09-16 18:15:21 回复

这个是可以安排的呀

     中国福建省龙岩市电信