例如,如果我有$a=array('a','b','c','d')
并生成unset($a[0])
,则数组变为
Array
(
[1] => b
[2] => c
[3] => d
)
如果我$a[]='e'
,则此数组变为
Array
(
[0] => b
[1] => c
[2] => d
[3] => e
)
(重置密钥)
但我需要它看起来像
Array
(
[1] => b
[2] => c
[3] => d
[4] => d
)
如果有可能的话,如何以最少的代码实现这一目标呢?
修改
抱歉,伙计们我的代码中间有array_splice()
。对不起我的尴尬问题
答案 0 :(得分:1)
如果你找不到有用的简单$arr[] =
方法,我相信这是完成你正在做的事情的足够最少的代码
<?php
$arr = array('b','c','d');
unset($arr[0]);
end($arr);
$arr[key($arr)+1] = 'e';
var_dump($arr);
?>
请注意,只有在您知道此数组只使用数字键时才会有效。
替代方式是
$arr[end(array_keys($arr))+1] = 'e';
而不是
end($arr);
$arr[key($arr)+1] = 'e';