2011-09-23 48 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並在必要時出隊。