PHP数组:添加新元素时重新编号元素

Mor*_*rph 2 php arrays shift

我有一个包含元素的PHP数组:

$myarray = array ( "tom", "dick", "Harry" );
Run Code Online (Sandbox Code Playgroud)

.我需要将数组固定为仅3个元素的大小.我需要添加一个新元素"jerry",这样阵列现在看起来像

 $myarray = array ( "jerry", "tom", "dick");
Run Code Online (Sandbox Code Playgroud)

所以在某种程度上我正在移动元素并且第4个元素掉线,最新的元素在开头.我可以手工编写所有这些,重新编号元素等.

我只是想知道是否有更快的方法来做到这一点.

非常感谢!Ĵ

Tat*_*nen 7

一种方法是利用array_poparray_unshift:

# Pop the last element off the array
array_pop($myarray);

# Insert the new value
array_unshift($myarray, "jerry");
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用array_mergearray_slice:

$myarray = array_merge(array("jerry"), array_slice($myarray, 0, 2));
Run Code Online (Sandbox Code Playgroud)

这两种方法都重置了密钥,因此它们将从0重新编号为2.