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 相关文章推荐
基于mysql的bbs设计(五)
Oct 09 PHP
PHP页面间传递参数实例代码
Jun 05 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
Php header()函数语法及使用代码
Nov 04 PHP
php查询mysql大量数据造成内存不足的解决方法
Mar 04 PHP
php实现简单的上传进度条
Nov 17 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
利用PHP判断是否是连乘数字串的方法示例
Jul 03 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 PHP
Laravel 集成 Geetest验证码的方法
May 14 PHP
Yii2.0框架模型多表关联查询示例
Jul 18 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
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
2013/04/25 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
浅析JS运动
2015/12/28 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
js智能获取浏览器版本UA信息的方法
2016/08/08 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
零基础写python爬虫之神器正则表达式
2014/11/06 Python
Python 备份程序代码实现
2017/03/06 Python
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
python语言元素知识点详解
2019/05/15 Python
python 默认参数相关知识详解
2019/09/18 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
python中count函数简单的实例讲解
2020/02/06 Python
如何提高python 中for循环的效率
2020/04/15 Python
Python实现自动整理文件的脚本
2020/12/17 Python
python性能测试工具locust的使用
2020/12/28 Python
jupyter 添加不同内核的操作
2021/02/06 Python
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
大学生村官典型材料
2014/01/12 职场文书
一年级班主任寄语
2014/01/19 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
青春无悔演讲稿
2014/05/08 职场文书
人事经理岗位职责范本
2014/08/04 职场文书
公务员学习习总书记“三严三实”思想汇报
2014/09/19 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
个人求职意向书
2015/05/11 职场文书
开天辟地观后感
2015/06/09 职场文书
盲山观后感
2015/06/11 职场文书