php菜鸟,发现以下问题不懂,请教各位。
<?php
$pic=array(1,0,a,b,z);
arsort($pic);
print_r($pic);
?>
降序输出:
<?php
$pic=array(1,0,a,b,z);
asort($pic);
print_r($pic);
?>
升序输出;
关于以上,我想问的是1,0,a,b,z是怎么比较大小的?
接下来,我改变了数组元素的位置:
<?php
$pic=array(1,a,b,0,z);
asort($pic);
print_r($pic);
?>
为什么会跟之前的升序不一样?
php 排序函数在进行排序的默认是对数值进行排序的,在遇到字符a是会认为a是字符串,将a转换为数值为0! 要想按字符排序可在asort函数加参数 SORT_STRING