3

データとキー[1、2、4、5]の配列があります。

$ array = 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

インデックスは0ではなく1で始まるため、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

それを行う1つの方法は次のとおりです。

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