在阵列中增加1个所有键的最简单的解决方案是什么?
之前:
$arr[0] = 'a';
$arr[1] = 'b';
$arr[2] = 'c';
Run Code Online (Sandbox Code Playgroud)
后:
$arr[1] = 'a';
$arr[2] = 'b';
$arr[3] = 'c';
Run Code Online (Sandbox Code Playgroud)
Mr.*_*ien 39
您可以使用
$start_zero = array_values($array); /* Re-Indexing Array To Start From Zero */
Run Code Online (Sandbox Code Playgroud)
如果你想从索引1开始使用它
$start_one = array_combine(range(1, count($array)), array_values($array));
Run Code Online (Sandbox Code Playgroud)
rai*_*7ow 32
嗯,有一个非常简单的方法:
$arr = array('a', 'b', 'c');
array_unshift($arr, null);
unset($arr[0]);
print_r($arr);
/*
Array
(
[1] => a
[2] => b
[3] => c
)
*/
Run Code Online (Sandbox Code Playgroud)
当然,它只适用于简单的密集阵列.
这是最不重要的(但是对于密集和稀疏数组都是单线程的AND)方式:
$arr = array_flip(array_map(function($el){ return $el + 1; }, array_flip($arr)));
Run Code Online (Sandbox Code Playgroud)
Ben*_*n D 11
我不确定你为什么要这样做,但你应该能够循环:
$new_array = array();
foreach($arr as $key => $value){
$new_array[$key+1] = $value;
}
$arr = $new_array;
Run Code Online (Sandbox Code Playgroud)
$count = count($arr);
for($i=$count; $i>0; $i--){
$arr[$i] = $arr[$i-1];
}
unset($arr[0]);
Run Code Online (Sandbox Code Playgroud)