回答
添加的數組元素,並檢查以下條件
if(count($arr) >= 5) { array_shift($arr); //remove element from beginning }
嘗試使用array_pad
函數。 (見http://www.php.net/manual/en/function.array-pad.php) 或者array_slice
(見http://www.php.net/manual/en/function.array-slice.php)
使用環形緩衝器,覆蓋舊元素和記憶「第一」一個的索引。
add_element (k)
a [first] = k;
first = (first + 1) % 5
access_element (i)
return a [(first + i) % 5]
這段代碼是用php嗎? :) –
@AurelioDeRosa,不,這是僞代碼:) – chill
我知道......不過這也不是什麼OP問,因爲這個問題被問PHP不是一般的算法。 –
您可以使用此代碼:
$array = array('a', 'b', 'c', 'd', 'e');
$newElems = array ('f', 'g', 'h');
foreach($newElems as $elem)
{
array_shift($array);
array_push($elem);
}
它的工作原理,你可以在這裏看到:http://codepad.org/DH2UUuTY
從http://php.net/manual/en/language.types.array.php:
的未設置()函數允許刪除鍵來自一個數組。請注意, 該數組不會被重新編制索引。如果需要真正的「移除和移位」行爲 ,則可以使用array_values() 函數對數組進行重新索引。
下面是一個例子。
function add($array,$item) {
array_push($item);
while(count($array)>5) array_shift($array);
}
array_slice
將幫助您
$array = array('a','b','c','d','e');
$array[] = 'f';
if(count($array) > 5)
$array = array_slice($array,count($array)-5);
var_dump($array);
可重複使用的功能
function add_array_max(&$array,$item,$max)
{
$array[] = $item;
if(count($array) > $max)
$array = array_slice($array,count($array)-$max);
}
add_array_max($array,'g',5);
add_array_max($array,'h',5);
add_array_max($array,'i',5);
add_array_max($array,'j',5);
var_dump($array);
我想你的意思是,如果(計數($陣列)> $最大) –
哦,感謝名單奧雷利奧,我編輯的答案。 –
愉快的幫助;) –
試試這個:
if(count($array) >= 5)) { array_pop($array); }
array_push($array, 'whatever');
對於我的建議,我利用了array_slice
Docs:
輸入:
$arr = range('a', 'c');
$new = 'f';
$highest = 4;
代碼:
$arr = array_slice($arr, -$highest);
$arr[] = $new;
array_slice
照顧限制陣列的最後4個元素,那麼添加新元素。
如果數組少於4個元素,這不會刪除任何元素,因此只添加新元素。
這是你所有人都在尋找的。 –
- 1. 從Python字典中刪除最老的元素
- 2. 如何從堆棧中刪除最老的元素?
- 3. 從「完整」陣列中刪除元素
- 4. 從陣列中刪除元素
- 5. 從陣列中刪除元素:MongoDB
- 6. 從陣列原型中刪除元素
- 7. PHP:從陣列中刪除元素
- 8. Discord.js:從陣列中刪除元素
- 9. 從陣列matlab中刪除元素
- 10. 從陣列錯誤中刪除元素
- 11. Pymongo:從陣列中刪除元素
- 12. 從陣列的jquery刪除null元素
- 13. 從基於另一個陣列的陣列中刪除元素
- 14. 根據另一個陣列的空元素從陣列中刪除元素
- 15. 枚舉陣列時從陣列中刪除元素
- 16. 刪除陣列中的空白元素
- 17. 刪除陣列中的元素PHP
- 18. MATLAB:如何從單元陣列B中刪除單元陣列A的元素?
- 19. Javascript獲取陣列中最古老的元素
- 20. 刪除元素,並從列表中刪除下列元素
- 21. 刪除陣列中的兩個最大元素
- 22. 從矩陣中刪除NaN元素
- 23. 從矩陣中刪除特定元素
- 24. 刪除無Array_Unique的陣列元素
- 25. 基於angularjs中的過濾器從陣列中刪除元素
- 26. 刪除陣列中的[0]元素,而不刪除整個陣列
- 27. 陣列拼接刪除陣列中的所有元素
- 28. 從XML序列化陣列中刪除包裝元素
- 29. 從陣列中刪除元素。指數。 C#。列表<double>
- 30. 從陣列中刪除元素無需重新排列
有7個元素的數組呢? – hakre