【发布时间】:2019-01-26 19:49:44
【问题描述】:
我正在尝试按键对数组(包含字母键和数字键)进行排序,其中字母键首先按字母顺序排列,然后数字键按数字排列。
用所有可用的标志尝试了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 函数进行排序。这就是我迷路的地方。任何帮助或指导正确方向将不胜感激。
谢谢
【问题讨论】:
-
@splash58 最短的解决方案。您应该将其放入答案中。
-
@splash58 我无法重现该问题:sandbox.onlinephpfunctions.com/code/…
-
我不确定它是如何工作的 :) - eval.in/1050759
-
@splash58 ...我应该使用 ksort() 来解释...我可以想出一个样本集来重现排序不正确的输出。 sandbox.onlinephpfunctions.com/code/…
标签: php arrays sorting usort ksort