首页 > 解决方案 > PHP按字母顺序然后按数字对数组键进行排序

问题描述

我正在尝试通过键对数组(带有字母键和数字键)进行排序,其中字母键首先按字母顺序排列,然后数字键按数字排列。

尝试ksort了所有可用的标志,但这没有帮助。尝试了几个 SO 答案,但没有一个符合我的目的。这是我拥有的数组的示例..

$array = array(
    'Bat' => array(),
    'Dog' => array(),
    'Apple' => array(),
    'Cat' => array(),
    1 => array(),
    3 => array(),
    2 => array(),
    4 => array()
);  

我需要这样排序:

$array = array(
    'Apple' => array(),
    'Bat' => array(),
    'Cat' => array(),
    'Dog' => array(),
    0 => array(),
    1 => array(),
    2 => array(),
    3 => array()
);  

我从 SO 答案中了解到,它可能需要一个自定义函数来使用该usort函数进行排序。这就是我迷路的地方。任何帮助或指导正确方向将不胜感激。

谢谢

标签: phparrayssortingusortksort

解决方案


如果您只使用英文字母和数字,通常的 ksort 函数可以正常工作

ksort($array);
print_r($array);

演示


推荐阅读