我有一个包含元素的 PHP 数组:
$myarray = array ( "tom", "dick", "Harry" );
. 我需要保持数组的大小固定为 3 个元素。我需要添加一个新元素“jerry”,这样数组现在看起来像
$myarray = array ( "jerry", "tom", "dick");
所以在某种程度上我正在移动元素,第四个元素退出,最新的元素在开始。我可以手写所有这些,重新编号元素等。
我只是想知道是否有更快的方法来做到这一点。
非常感谢!Ĵ
一种方法是使用array_popand array_unshift:
# Pop the last element off the array
array_pop($myarray);
# Insert the new value
array_unshift($myarray, "jerry");
或者,您可以使用array_mergeand array_slice:
$myarray = array_merge(array("jerry"), array_slice($myarray, 0, 2));
这两种方法都会重置键,因此它们将从 0 重新编号为 2。
您可能想看看SplQueue。每次添加新元素时,检查元素数量是否高于 x 并在必要时出列。
$myarray = array ( "tom", "dick", "Harry" );
array_pop( $myarray ); //remove the last element
array_unshift( $myarray, "jerry" ); //prepend the new element