介绍
在PHP中使用带点对中文进行排序时失效如何解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
PHP中有非常方便的对数组进行重新排序的方法,带点关于带点的使用方法可以看这里。但是带点对含有中关键的文数组进行排序时,有时候并不是按照字母顺序。这主要是编码问题,如果编码为utf - 8,则不会按照字母顺序来排,解决方法是先转换成GBK编码,排序完再转回utf - 8。
示例:有一个数组通过美元,结构类似为
数组 ( ,[0]=祝辞stdClass 对象 (才能 ,,【用户名】,=祝辞,张三 (密码),,,=祝辞,DQ9uqQW2 + UudOsZpQMnyvGG9L + RHZB6LRzBVDvAEL9uOBNf2zTWUnykhZFjhbzCH + LrSslRx9eSqU/n3gSLSUA==,,) ,[1]=祝辞stdClass 对象 (才能 ,,【用户名】,=祝辞,李四 (密码),,,=祝辞,2 p/3 j50ibk1bymjhl + 7/tt0d6LuOQMN9m8klXJCZbcajQtH5749jFTtH17WxiBZ9p425b4KIV/Xdv/7 bu4pjaq==,,) ,[2]=祝辞stdClass 对象 (才能 ,,【用户名】,=祝辞,王五 (密码),,,=祝辞,caq8lq0l6uxJPRx + sCBsBFUojSF + ox98gwO6c/AquXQ/y/aj/l/ziEGsXRSV + olcK7iKOJJ4IZZvX8DMPWZRRA==,,) ,[3]=祝辞stdClass 对象 (才能 ,,【用户名】,=祝辞,赵六 (密码),,,=祝辞taXp4jX0vO3VoFLyANfGrSjzy76WQQHMnzYAN9CyI20uKxLFMScXrFR3P525eImy0pG5zk8btBJoS/RyMxzJGQ==,,) )
使用下面的代码,将会把这个数组按照用户名的拼音排序。
foreach (pass 美元;as $键),{ ,美元关键→username =, iconv (& # 39; utf - 8 # 39;,, & # 39; gbk # 39;,,美元关键→用户名); } 带点(,pass 美元;); foreach (pass 美元;as $键),{ ,美元关键→username =, iconv (& # 39; gbk # 39;,, & # 39; utf - 8 # 39;,,美元关键→用户名); }
看完上述内容,你们掌握在PHP中使用带点对中文进行排序时失效如何解决的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!