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 相关文章推荐
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 PHP
destoon各类调用汇总
Jun 20 PHP
php遍历数组的4种方法总结
Jul 05 PHP
php使用Jpgraph绘制饼状图的方法
Jun 10 PHP
PHP实现HTML页面静态化的方法
Nov 04 PHP
php读取txt文件并将数据插入到数据库
Feb 23 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 PHP
PHP文件类型检查及fileinfo模块安装使用详解
May 09 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 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 set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
php学习之 数组声明
2011/06/09 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
基于jQuery实现图片的前进与后退功能
2013/04/24 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
jQuery Masonry瀑布流插件使用方法详解
2017/01/18 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
[07:27]DOTA2卡尔工作室 英雄介绍水晶室女篇
2013/06/21 DOTA
Python文件和目录操作详解
2015/02/08 Python
Python多线程实现同步的四种方式
2017/05/02 Python
python 自动重连wifi windows的方法
2018/12/18 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
CSS3实现粒子旋转伸缩加载动画
2016/04/22 HTML / CSS
国贸专业个人求职信范文
2014/01/08 职场文书
党支部承诺书范文
2014/03/28 职场文书
小学六一主持词开场白
2015/05/28 职场文书
法律意见书范文
2015/06/04 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
python-for x in range的用法(注意要点、细节)
2021/05/10 Python
zabbix监控mysql的实例方法
2021/06/02 MySQL
MySQL 开窗函数
2022/02/15 MySQL