对二维数组的第一级键和第二级键进行排序

问题描述 投票:0回答:1

我得到了一个多维数组,可能如下所示:

$array[1][0] = "string";
$array[0][1] = "anotherstring";
$array[0][0] = "thirdstring";
$array[1][1] = "fourthstring";

我想按键对这个数组进行排序,所以它看起来像这样:

$array[0][0] = "thirdstring";
$array[0][1] = "anotherstring";
$array[1][0] = "string";
$array[1][1] = "fourthstring";

目前我正在使用以下程序:

ksort($array);
foreach ($array as $key => $value) {
        ksort($value);
        $array[$key] = $value;
}

这确实工作得很好,但也许有更好的(内置)函数可以做到这一点?

php sorting multidimensional-array
1个回答
4
投票

您可以通过以下方式缩短循环:

ksort($array);
foreach($array as &$value) {
        ksort($value);
}

或使用

array_walk
:

ksort($array);
array_walk($array, 'ksort');
© www.soinside.com 2019 - 2024. All rights reserved.