我有数据和密钥[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
)
)
我该怎么做?也许是为了这个功能?我不想这样做 - 这只是一个例子。
答案 0 :(得分:6)
当你的索引从1开始而不是0时,你需要使用range
函数,并在array_combine
的帮助下得到结果数组。
array_combine(range(1,4), array_values($array));
为了使它更通用,你可以使用它,
array_combine(range(1,count($array)), array_values($array));
答案 1 :(得分:5)
$new_array = array_values($old_array);
答案 2 :(得分:3)
只需在开头添加一个元素,重新键入然后将其关闭。
$array = array_values(array_unshift($array, 'blank'));
unset($array[0]);
我没有测试,但应该这样做。
答案 3 :(得分:2)
一种方法是:
$newArray = array();
foreach($oldArray as $val):
$newArray[] = $val; //add the value to the new array
endforeach;