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 相关文章推荐
PHP数据库操作面向对象的优点
Oct 09 PHP
社区(php&&mysql)二
Oct 09 PHP
PHP常用函数小技巧
Sep 11 PHP
php中使用cookie来保存用户登录信息的实现代码
Mar 08 PHP
php 生成唯一id的几种解决方法
Mar 08 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
php blowfish加密解密算法
Jul 02 PHP
php实现学生管理系统
Mar 21 PHP
Yii配置与使用memcached缓存的方法
Jul 13 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 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使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
javascript 面向对象全新理练之继承与多态
2009/12/03 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
JavaScript实现购物车基本功能
2017/07/21 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
python 修改本地网络配置的方法
2019/08/14 Python
flask的orm框架SQLAlchemy查询实现解析
2019/12/12 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
2014年小学国庆节活动方案
2014/09/16 职场文书
2014年学生党支部工作总结
2014/12/20 职场文书
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL