我想通过php中的键对数组进行排序

时间:2014-07-13 20:26:43

标签: php arrays

我有一个数组$data,格式为:

Array
(
    [1] => Array
        (
            [group_exp] => Group 2
            [cat_exp] => Category 3
            [sub_exp] => Sub Category 4
        )
    [2] => Array
       (
            [group_exp] => Group 3
            [cat_exp] => Category 4
            [sub_exp] => Sub Category 5
       )

)

但我想以这种形式保存这个数组:

Array
(
    [0] => Array
        (
            [group_exp] => Group 2
            [cat_exp] => Category 3
            [sub_exp] => Sub Category 4
        )
    [1] => Array
       (
            [group_exp] => Group 3
            [cat_exp] => Category 4
            [sub_exp] => Sub Category 5
       )

)

2 个答案:

答案 0 :(得分:0)

如果您只想将索引减少一个,而不是一直减少到零,请考虑使用for循环方法:

$length = count($data);
for($i = 1; $i <= $length; $i++){
    $data[$i-1] = $data[$i];
    unset($data[$i]);
}

答案 1 :(得分:0)

正如评论所示,如果数组的顺序正确,请使用array_values重新排序索引。

$array = array_values($array);

如果数组应按其索引排序(如果它们的固有顺序没有排序,如[2],[1],[3],则首先按键排序数组:

ksort($array);
$array = array_values($array);