加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 17:36:00 所属栏目: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] =
我有一个数组..
$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' );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读