PHP 按字母顺序然后按数字对数组键进行排序

Abh*_*hik 0 php arrays sorting usort ksort

我正在尝试按键对数组(同时包含字母和数字键)进行排序,其中字母键将按字母顺序排列在前,然后按数字键排列。

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

$array = array(
    'Bat' => array(),
    'Dog' => array(),
    'Apple' => array(),
    'Cat' => array(),
    1 => array(),
    3 => array(),
    2 => array(),
    4 => array()
);  
Run Code Online (Sandbox Code Playgroud)

我需要这样排序:

$array = array(
    'Apple' => array(),
    'Bat' => array(),
    'Cat' => array(),
    'Dog' => array(),
    0 => array(),
    1 => array(),
    2 => array(),
    3 => array()
);  
Run Code Online (Sandbox Code Playgroud)

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

谢谢

spl*_*h58 5

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

ksort($array);
print_r($array);
Run Code Online (Sandbox Code Playgroud)

演示