3

我有包含数据和键 [1, 2, 4, 5] 的数组。

$数组 = xxxx;

这是:

                       [array] => Array
                            (
                                [1] => Array
                                    (
                                        [test] => fdasdfs24
                                    )

                                [2] => Array
                                    (
                                        [test] => fdasdf23
                                    )

                                [4] => Array
                                    (
                                        [test] => fdasdf4
                                    )

                                [5] => Array
                                    (
                                        [test] => fdasdf34
                                    )

                            )

我如何重置这个和数组中的索引?我想收到:[1, 2, 3, 4]

                       [array] => Array
                            (
                                [1] => Array
                                    (
                                        [test] => fdasdfs24
                                    )

                                [2] => Array
                                    (
                                        [test] => fdasdf23
                                    )

                                [3] => Array
                                    (
                                        [test] => fdasdf4
                                    )

                                [4] => Array
                                    (
                                        [test] => fdasdf34
                                    )

                            )

我怎样才能做到?也许是为了这个功能?我不想手动执行此操作 - 这只是示例。

4

4 回答 4

6

当您索引从 1 而不是 0 开始时,您需要使用range函数并在array_combine您的帮助下获得结果数组。

array_combine(range(1,4),  array_values($array));

为了使其更通用,您可以使用它,

array_combine(range(1,count($array)),  array_values($array));
于 2013-01-18T15:50:20.783 回答
5
$new_array = array_values($old_array);
于 2013-01-18T15:49:25.880 回答
3

只需在开头添加一个元素,重新设置密钥,然后将其关闭。

$array = array_values(array_unshift($array, 'blank'));
unset($array[0]);

我没有测试它,但应该这样做。

于 2013-01-18T15:54:03.720 回答
2

一种方法是:

$newArray = array();
foreach($oldArray as $val):
    $newArray[] = $val; //add the value to the new array
endforeach;
于 2013-01-18T15:50:05.623 回答