当前位置:  编程技术>php

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

    来源: 互联网  发布时间:2014-08-26

    本文导语:  php数组中文排序,文件格式一般用utf8,直接用asort排序不行。若是gbk和gb2312可以。这跟编码有关。gbk和gb2312本身的编码就是用拼音排序的。 代码如下:function utf8_array_asort(&$array) {if(!isset($array) || !is_array($array)) {  return false;}foreac...

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数组长度)的方法
  • php定义数组和使用示例(php数组的定义方法)
  • php数组函数之array_combine() 数组合并函数
  • php遍历数组四种方法 php数组遍历实例
  • php数组函数之array_count_values() 统计数组中所有值出现的次数
  • php数组随机排序示例
  • php生成数组与php全组合算法
  • php分割数组示例
  • php判断一个数组是否为另一个数组子集的方法
  • php数组函数之array_unique() 去除数组中重复的元素值
  • php生成数组的使用示例 php全组合算法
  • php数组函数之array_key_exists() 查找数组键名是否存在
  • PHP extract(数组拆分)作用分析
  • php获得数组长度(元素个数)的方法
  • php读取文本内容到二维数组
  • php数组排序方法大全(脚本学堂整理奉献)
  • php三维数组去重的简单例子
  • PHP 数组字符集编码转换的函数
  • php为js数组赋值方法
  • php二维数组转换为字符串示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php判断字符串是否全是中文或含有中文
  • 中文分词PHP扩展 MFSOU
  • php网页标题中文乱码如何解决
  • 解决php json_encode中文转码、乱码问题
  • php网页标题中文乱码的有效解决方法
  • php中文字符串截取函数示例
  • PHP中文套件 PHPnow
  • php+正则将字符串中的字母数字和中文分割
  • php导入csv文件中文乱码的解决方法
  • PHP中文分词扩展 robbe
  • PHP中file_exists函数不支持中文名的解决方法
  • 支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
  • php截取中文字符串(无乱码)方法
  • 解决php csv文件导入mysql中文乱码
  • PHP解决URL中文GBK乱码问题的两种方法
  • 解决php接收shell返回的结果中文乱码问题
  • php mb_substr()函数截取中文字符串应用示例
  • 我在安装LINUX 9简体中文版时,漏装了一个PHP-MYSQL的模块,那我现在该如何加装?
  • php中文乱码怎么办如何让浏览器自动识别utf-8
  • java开发知识 iis7站长之家
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3