PHP按字母顺序排序数组,然后数字?

前端之家收集整理的这篇文章主要介绍了PHP按字母顺序排序数组,然后数字?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个数组..
$test = array("def","yz","abc","jkl","123","789","stu");

如果我运行sort()就可以了

Array
(
    [0] => 123
    [1] => 789
    [2] => abc
    [3] => def
    [4] => jkl
    [5] => stu
    [6] => yz
)

但我想看到它

Array
(
    [0] => abc
    [1] => def
    [2] => jkl
    [3] => stu
    [4] => yz
    [5] => 123
    [6] => 789
)

我尝试了array_reverse,似乎没有改变任何东西.所以我现在有一种失去的东西,如何获得最后的数字,但顺序

您需要的是排序,但使用自定义比较功能(usort).
以下代码将完成:
function myComparison($a,$b){
    if(is_numeric($a) && !is_numeric($b))
        return 1;
    else if(!is_numeric($a) && is_numeric($b))
        return -1;
    else
        return ($a < $b) ? -1 : 1;
} 
$test = array("def","stu");
usort ( $test,'myComparison' );

猜你在找的PHP相关文章