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

发布于 2024-12-06 04:16:54 字数 338 浏览 1 评论 0 原文

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

$myarray = array ( "tom", "dick", "Harry" );

。我需要将数组的大小固定为仅 3 个元素 。我需要添加一个新元素“jerry”,这样数组现在看起来就像

 $myarray = array ( "jerry", "tom", "dick");

这样,我正在移动元素,第四个元素会消失,最新的元素会出现在开头。我可以手工编写所有这些,对元素重新编号等等。

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

非常感谢! J

I have a PHP array with elements:

$myarray = array ( "tom", "dick", "Harry" );

. I need to keep the array fixed in size of just 3 elements
. I need to add a new element "jerry" such that the array now looks like

 $myarray = array ( "jerry", "tom", "dick");

so in a way I am moving the elements along and the 4th one drops out, with the newest element going at the beginning. I could write all of this by hand, renumbering the elements etc etc.

I just wondered if there was a quicker way to do this though.

Many thanks!
J

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

桃气十足 2024-12-13 04:16:54

一种方法是利用 array_poparray_unshift

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

# Insert the new value
array_unshift($myarray, "jerry");

或者,您可以使用 array_mergearray_slice

$myarray = array_merge(array("jerry"), array_slice($myarray, 0, 2));

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

One way to do this is to utilize array_pop and array_unshift:

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

# Insert the new value
array_unshift($myarray, "jerry");

Or, you can use array_merge and array_slice:

$myarray = array_merge(array("jerry"), array_slice($myarray, 0, 2));

Both of these methods reset the keys, so they will be renumbered from 0 to 2.

假情假意假温柔 2024-12-13 04:16:54

您可能想查看SplQueue。每次添加新元素时,检查元素数量是否大于 x 并在必要时出队。

You might want to have a look at SplQueue. On every addition of a new element, check whether the number of elements is higher than x and dequeue if necessary.

蓝海 2024-12-13 04:16:54
$myarray = array ( "tom", "dick", "Harry" );
array_pop( $myarray ); //remove the last element
array_unshift( $myarray, "jerry" ); //prepend the new element
$myarray = array ( "tom", "dick", "Harry" );
array_pop( $myarray ); //remove the last element
array_unshift( $myarray, "jerry" ); //prepend the new element
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文