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 相关文章推荐
ionCube 一款类似zend的PHP加密/解密工具
Jul 25 PHP
PHP中$_SERVER的详细参数与说明介绍
Oct 26 PHP
PHP防范SQL注入的具体方法详解(测试通过)
May 09 PHP
php数组操作之键名比较与差集、交集赋值的方法
Nov 10 PHP
php通过session防url攻击方法
Dec 10 PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 PHP
一个简单安全的PHP验证码类、PHP验证码
Sep 24 PHP
PHP序列化操作方法分析
Sep 28 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
Jun 07 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 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
推荐文章系统(一)
2006/10/09 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
PHP调用全国天气预报数据接口查询天气示例
2019/02/20 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
Laravel框架源码解析之反射的使用详解
2020/05/14 PHP
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
JavaScript之生成器_动力节点Java学院整理
2017/06/30 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
JavaScript私有变量实例详解
2019/01/24 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python简单生成随机姓名的方法示例
2017/12/27 Python
Python 类的特殊成员解析
2018/06/20 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
python爬虫用mongodb的理由
2020/07/28 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
酒店员工职业生涯规划
2014/02/25 职场文书
幼儿园母亲节活动方案
2014/03/10 职场文书
班级文化标语
2014/06/23 职场文书
学风建设演讲稿
2014/09/12 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript
Hive日期格式转换方法总结
2022/06/25 数据库