PHP中sort是按什么顺序修改键名的?
用sort修改键名之后,数组值的顺序就被打乱了,我想知道sort是随机给数组元素起名的还是按照一定规则起名的,那这个规则是什么规则?...
用sort修改键名之后,数组值的顺序就被打乱了,我想知道sort是随机给数组元素起名的还是按照一定规则起名的,那这个规则是什么规则?
展开
2个回答
展开全部
sort是对数组元素按升序排序的函数,既然重新排序了,数组元素的顺序当然就可能和最初不同了
升序排序就是数字按从小到大、字母按字母表顺序从前到后排序
升序排序就是数字按从小到大、字母按字母表顺序从前到后排序
追问
$arr = array('a'=>'王','b'=>'李','c'=>'黄');输出结果顺序是李,王,黄,但为什么呢?
追答
sort排序后,你定义的元素别名就重新变成0、1、2的下标了
对于中文,是按编码顺序排序的,就是说这个和中文的编码有关
如果是gbk、gb2312本身编码就是按拼音排序的,排出来也就是拼音顺序
如果是unicode或utf8,那就不一样了,你这个顺序应该是unicode编码的顺序,说明你的php服务器配置的unicode编码模式
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询