php数组中包含中文的排序方法


Posted in PHP onJune 03, 2014

php数组中文排序,文件格式一般用utf8,直接用asort排序不行。若是gbk和gb2312可以。这跟编码有关。gbk和gb2312本身的编码就是用拼音排序的。

function utf8_array_asort(&$array) {
if(!isset($array) || !is_array($array)) {
  return false;
}
foreach($array as $k=>$v) {
  $array[$k] = iconv('UTF-8', 'GB2312',$v);
}
asort($array);
foreach($array as $k=>$v) {
  $array[$k] = iconv('GB2312', 'UTF-8', $v);
}
return true;
}

使用例子:
$abc = array('a'=>'猜', 'b'=>'我','c'=>'哦','d'=>'棍','e'=>'f','f'=>'爸','z'=>'州');
utf8_array_asort($abc);
print_r($abc);

但是使用这个函数发现,有些文字会出错,可能是utf8编码认不出某些字导致的“非法字符”,据了解GBK字符集比较大,换成GBK,再加上IGNORE忽略掉不认识的字符 ,改成下面这样
private function utf8_array_asort(&$array) {
  if(!isset($array) || !is_array($array)) {
   return false;
  }
  foreach($array as $k=>$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;
}
PHP 相关文章推荐
对javascript和select部件的结合运用
Oct 09 PHP
PHP取得一个类的属性和方法的实现代码
May 22 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
Jul 01 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
php从字符串创建函数的方法
Mar 16 PHP
smarty模板引擎之分配数据类型
Mar 30 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
php使用高斯算法实现图片的模糊处理功能示例
Nov 11 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 PHP
laravel框架中间件简单使用方法示例
Jan 25 PHP
php实现文件下载实例分享
Jun 02 #PHP
php+js实现异步图片上传实例分享
Jun 02 #PHP
php实例分享之html转为rtf格式
Jun 02 #PHP
php 伪静态之IIS篇
Jun 02 #PHP
php伪静态之APACHE篇
Jun 02 #PHP
50个PHP程序性能优化的方法
Jun 02 #PHP
浅谈php扩展imagick
Jun 02 #PHP
You might like
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
canvas知识总结
2017/01/25 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
vue项目每30秒刷新1次接口的实现方法
2018/12/04 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
朴素贝叶斯算法的python实现方法
2014/11/18 Python
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
python妹子图简单爬虫实例
2015/07/07 Python
Python爬虫代理IP池实现方法
2017/01/05 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
村优秀党员事迹材料
2014/01/15 职场文书
在校生自我鉴定
2014/01/23 职场文书
村官工作鉴定评语
2014/01/27 职场文书
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
人力资源总监工作说明
2014/03/03 职场文书
解除劳动合同协议书范本
2014/09/13 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
写给女朋友的保证书
2015/05/09 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python