我正在尝试在PHP中找出正确的函数来对多维数组进行排序。我考虑做一个foreach然后使用ksort(这不起作用)。我认为可能有用的是注意二级键(数字键)是“手动”设置的(而不是使用array_push,因为该场景中的第一个键将是0而不是1)。
这是针对单个实例的,所以我不需要这个或者任何超级特殊的类,我对PHP中的正确上下文函数感兴趣,以使这些代码更加面向性能(以及弄清楚我做错了什么。
注意我想保留PRIMARY键(例如,主要和促销)当前的顺序。
未排序的数组......
Array
(
[Main] => Array
(
[3] => Main2
[2] => Content
[1] => Main1
)
[Promotional] => Array
(
[3] => Promotional1
[2] => Content
[1] => Promotional2
)
)
期望的结果(按二级密钥排序)......
Array
(
[Main] => Array
(
[1] => Main1
[2] => Content
[3] => Main2
)
[Promotional] => Array
(
[1] => Promotional2
[2] => Content
[3] => Promotional1
)
)
答案 0 :(得分:3)
您可以尝试:
foreach($array as $key => $data) {
ksort($data);
$array[$key] = $data;
}
答案 1 :(得分:2)
你也可以试试这个:
foreach($array as $key => &$data) {
ksort($data);
}
$ data变量前的&符号表示$ data变量是一个指针,对该变量的任何更改都会级联回原始配置。