PHP中有非常方便的对数组进行重新排序的方法——asort,关于asort的使用方法可以看 这里 。但是asort对含有中文key的数组进行排序时,有时候并不是按照字母顺序。这主要是编码问题,如果编码为UTF-8,则不会按照字母顺序来排,解决方法是先转换成GBK编码,排序完再转回UTF-8.

示例:有一个数组$pass,结构类似为

Array

(

[0] => stdClass Object

(

[username] => 张三

[password] => DQ9uqQW2+UudOsZpQMnyvGG9L+RHZB6LRzBVDvAEL9uOBNf2zTWUnykhZFjhbzCH+LrSslRx9eSqU/n3gSLSUA==

)

[1] => stdClass Object

(

[username] => 李四

[password] => 2P/3j50ibk1BYmjHL+7/tt0d6LuOQMN9m8klXJCZbcajQtH5749jFTtH17WxiBZ9p425b4KIV/Xdv/7Bu4pJAQ==

)

[2] => stdClass Object

(

[username] => 王五

[password] => caq8lq0l6uxJPRx+sCBsBFUojSF+ox98gwO6c/AquXQ/y/aj/l/ziEGsXRSV+olcK7iKOJJ4IZZvX8DMPWZRRA==

)

[3] => stdClass Object

(

[username] => 赵六

[password] => taXp4jX0vO3VoFLyANfGrSjzy76WQQHMnzYAN9CyI20uKxLFMScXrFR3P525eImy0pG5zk8btBJoS/RyMxzJGQ==

)

)

使用下面的代码,将会把这个数组按照username的拼音排序。

foreach ($pass as $key) {

$key->username = iconv('UTF-8', 'GBK', $key->username);

}

asort( $pass );

foreach ($pass as $key) {

$key->username = iconv('GBK', 'UTF-8', $key->username);

}

php 中文键名 问题,PHP中使用asort进行中文排序失效的问题处理相关推荐

  1. SpringBoot中文文档 SpringBoot中文参考指南 SpringBoot中文参考文档 springboot中文文档 springboot中文

    SpringBoot中文文档 SpringBoot中文参考指南 SpringBoot中文参考文档 springboot中文文档 springboot中文 SpringBoot中文文档 SpringBo ...

  2. php数组指定键名,查找数组中指定键名的值_PHP教程

    HTML Ajax传值 输入要查找的值: 查找的结果为: //示例数组 搜索 depth $src_array = array( 'test' => '123', array( 'has' =& ...

  3. 在 JavaScript 中获取对象的第一个键名

    本文将演示如何提取对象第一个属性的键(键值对). 目录 1.在JavaScript中获取对象的第一个键名 2.用于object.entries()在JavaScript 中获取对象的第一个键名 3.用 ...

  4. python有中文无法保存_解决python3爬虫无法显示中文的问题

    解决python3爬虫无法显示中文的问题 有时候使用python从网站上爬数据的时候,如果数据里包含中文,有时候显示的却是如下所示...\xe4\xba\xba\xef\xbc\x8c\xe6...类 ...

  5. php某列为键数组为值,PHP 将二维数组中某列值作为数组的键名 -- 超实用

    有时候,想通过数组的中某字段值, 然后再在二维数组中获取存在该字段值的数组: 一般能想到的就是foreach 遍历比较一下跟该字段值一样,就获取到想要的数组,如下: //测试二维数组 $arr =ar ...

  6. php获取数组中,相同键名的键值之和

    一.记录一下一个数组求相同键名的键值和的简便方法: 比如你有一个数组: $arr = array([0]=>array([0]=>array('user_id'=>100,'fiel ...

  7. php 获取数组最小值,php 获取数组中最小的值与键名的方法

    上一篇博文说的是php获取数组中最大的值与键名的方法,那么这篇博文就说一下php获取数组中最小的值与键名的方法.获取数组中最小的值可以使用php中的预设函数 min() ,其使用方法也非常的简单. p ...

  8. requests(二): json请求中固定键名顺序消除键和值之间的空格

    继上一篇requests发送json请求的文章后,实际工作中遇到了以下2种情况. 1:服务端要求json字符串,键名的顺序固定  2.服务端对于接收到的json数据中,若key和value之间有空格, ...

  9. 解决GeoTools中CQL解析中文字段名的问题

    GeoTools中CQL无法解析中文字段名的过滤条件,会报异常错误,经过一个下午的努力,终于通过简单有效的方式解决啦 String filterCondition = "temp='&quo ...

最新文章

  1. KSQL和Flink SQL的比较
  2. 中国移民去哪儿 新京报
  3. 【转】RunTime.getRunTime().addShutdownHook用法
  4. VS2015搭建汇编语言环境和代码高亮插件AsmDude
  5. OpenGL纹理操作--glGenTextures
  6. 科普:史上最强单片机
  7. Win7 SP1 安装python 3.8时,提示 KB2533623 update is required to continue
  8. 网络邻居上的计算机没权限,WinXP打开网上邻居提示“您可能没有权限使用网络资源”怎么办?...
  9. 【开源教程8】疯壳·开源编队无人机-GPIO(LED 航情灯、信号灯控制)
  10. win10蓝屏提示重新启动_神器 | 那些好用到爆的win10修复优化软件,一键解决你的麻烦(一)...
  11. OpenHarmony OpenSl ES音频播放开发
  12. 404未找到是什么意思_404错误是什么意思?为什么是404
  13. MindSpore论坛十一月活动宣传
  14. 基于apache-jena的知识问答
  15. Linux打印一个文字logo
  16. 卫星监测“America”级#两#栖#攻#击#舰#(LHA-6)出港
  17. python给图片加动态特效_一张图片能加动画特效,还能加背景音乐?Python制作雪景图...
  18. 产品经理项目流程(二)——需求管理
  19. OSChina 周三乱弹 —— 这下回去要被老婆挠死
  20. Java 设计模式最佳实践:二、创建型模式

热门文章

  1. 当年中国的“四大工学院”,现在都咋样了?
  2. 《c语言从入门到精通》看书笔记——第16章 网络套接字编程(上)——网络
  3. php 常用简单函数,PHP中常用函数简单介绍
  4. java weblogic反序列化_Weblogic JAVA反序列化漏洞攻防搭建(3)
  5. android 串口一直打开_android 如何打开串口以及与串口通讯
  6. mate30pro 优化 开发者选项_10 个开发者必知的 MySQL 8.0 新功能
  7. c# 获取html中指定标签信息,c# – 如何解析图像标签的HTML字符串以获取SRC信息?...
  8. win10 linux uefi启动不了系统安装教程,【从踩坑到教程】win10下ubuntu18.04双系统UEFI模式安装、Nvidia驱动安装...
  9. python 数组 运算_python数据分析(二) python numpy--数组和矢量运算--数组对象
  10. 路飞学院python官网-路飞学院-Python爬虫实战密训班-第1章