鍍金池/ 問答/PHP/ PHP數(shù)組中不同數(shù)據(jù)類型的值之間如何比較?

PHP數(shù)組中不同數(shù)據(jù)類型的值之間如何比較?

php菜鳥,發(fā)現(xiàn)以下問題不懂,請教各位。

<?php 
    $pic=array(1,0,a,b,z);
    arsort($pic);
    print_r($pic);
 ?>

降序輸出:clipboard.png


<?php 
    $pic=array(1,0,a,b,z);
    asort($pic);
    print_r($pic);
 ?>

升序輸出;
clipboard.png

關(guān)于以上,我想問的是1,0,a,b,z是怎么比較大小的?


接下來,我改變了數(shù)組元素的位置:

<?php 
    $pic=array(1,a,b,0,z);
    asort($pic);
    print_r($pic);
 ?>

為什么會跟之前的升序不一樣?
clipboard.png

回答
編輯回答
陌顏

php 排序函數(shù)在進(jìn)行排序的默認(rèn)是對數(shù)值進(jìn)行排序的,在遇到字符a是會認(rèn)為a是字符串,將a轉(zhuǎn)換為數(shù)值為0! 要想按字符排序可在asort函數(shù)加參數(shù) SORT_STRING

2017年10月23日 21:10
編輯回答
朽鹿

php數(shù)據(jù)的比較是隱式轉(zhuǎn)換吧

2017年10月10日 02:37