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

PHP数组:添加新元素时对元素重新编号,php,arrays,shift,Php,Arrays,Shift,我有一个包含元素的PHP数组: $myarray = array ( "tom", "dick", "Harry" ); 。我需要将数组的大小固定为3个元素 . 我需要添加一个新元素“jerry”,使数组现在看起来像 $myarray = array ( "jerry", "tom", "dick"); 所以在某种程度上,我移动元素,第四个元素退出,最新的元素在开始。我可以手工写下所有这些,对元素重新编号等等 我只是想知道是否有一个更快的方法来做到这一点 非常感谢! 实现这一点的一种方法是

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

$myarray = array ( "tom", "dick", "Harry" );
。我需要将数组的大小固定为3个元素 . 我需要添加一个新元素“jerry”,使数组现在看起来像

 $myarray = array ( "jerry", "tom", "dick");
所以在某种程度上,我移动元素,第四个元素退出,最新的元素在开始。我可以手工写下所有这些,对元素重新编号等等

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

非常感谢!
实现这一点的一种方法是利用和:

或者,您可以使用和:


这两种方法都会重置键,因此它们将从0重新编号为2。

您可能需要查看一下。在每次添加新元素时,检查元素数是否大于x,必要时退出队列

$myarray = array ( "tom", "dick", "Harry" );
array_pop( $myarray ); //remove the last element
array_unshift( $myarray, "jerry" ); //prepend the new element
$myarray = array_merge(array("jerry"), array_slice($myarray, 0, 2));
$myarray = array ( "tom", "dick", "Harry" );
array_pop( $myarray ); //remove the last element
array_unshift( $myarray, "jerry" ); //prepend the new element