我有以下一周中的几天数组,每一天都有一天中的几个小时(整个数组代表兼职员工的日程安排):
Array
(
[7] => Array
(
[0] => 15
[1] => 14
[2] => 13
[3] => 11
[4] => 12
[5] => 10
)
[1] => Array
(
[0] => 10
[1] => 13
[2] => 12
)
[6] => Array
(
[0] => 14
)
[3] => Array
(
[0] => 4
[1] => 5
[2] => 6
)
)
我只需要:
- 按每个子数组排序(第二维) - 无需维护数字键,值是整数
- 按第一维排序并维护数字、整数键
IE:
Array
(
[1] => Array
(
[0] => 10
[1] => 12
[2] => 13
)
[3] => Array
(
[0] => 4
[1] => 5
[2] => 6
)
[6] => Array
(
[0] => 14
)
[7] => Array
(
[0] => 10
[1] => 11
[2] => 12
[3] => 13
[4] => 14
[5] => 15
)
)
附加信息:
- 只有第一维的键和第二维的值(当然还有它们的关联)对我的用例有意义
- 第一个维度最多可以有 7 个值,范围从 1-7(一周中的几天),并且至少有 1 个值(1 天)
- 第 2 个维度最多可以有 24 个值,范围从 0-23(每天的小时数),并且至少有 1 个值(每天 1 小时)
我知道我可以foreach
对整个ksort
ed 数组和sort
每个二维数组执行此操作:
ksort($sched);
foreach ($sched as &$array) sort($array);
unset($array);
但我希望我可以用原生 php 数组函数来实现这一点。
我的搜索让我尝试array_multisort(array_values($array), array_keys($array), $array)
,但我无法让它发挥作用。