2011-09-23 93 views
2

我有一个PHP数组元素:PHP数组:重新编号单元,当新元件添加

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

。我需要保持阵列固定大小只有3个元素 。我需要添加一个新的元素“杰里”,使得阵列现在看起来像

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

因此,在某种程度上,我沿着所述元素和第四一个滴出,与最新的元素会在开头。我可以手工编写所有这些,重新编号元素等等。

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

非常感谢! Ĵ

做到这一点

回答

7

的一种方法是利用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.

+0

感谢大家,感谢您的快速回答! :) – Morph

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

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