回答
添加的数组元素,并检查以下条件
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. Discord.js:从阵列中删除元素
- 2. 从“完整”阵列中删除元素
- 3. 从阵列matlab中删除元素
- 4. 从阵列中删除元素
- 5. 从阵列原型中删除元素
- 6. 从阵列错误中删除元素
- 7. 从Python字典中删除最老的元素
- 8. 如何从堆栈中删除最老的元素?
- 9. 从阵列的jquery删除null元素
- 10. 根据另一个阵列的空元素从阵列中删除元素
- 11. 删除阵列中的元素PHP
- 12. MATLAB:如何从单元阵列B中删除单元阵列A的元素?
- 13. 删除元素,并从列表中删除下列元素
- 14. 删除阵列中的[0]元素,而不删除整个阵列
- 15. 阵列拼接删除阵列中的所有元素
- 16. 从XML序列化阵列中删除包装元素
- 17. 的java:删除元素从后阵.split()
- 18. 从元组列表中删除元素
- 19. 如何从阵列中删除元素的特定区域
- 20. JS - 从阵列中删除元素(使用拼接的问题)
- 21. 从阵列中动态移除元素
- 22. 从阵列中移除元素
- 23. 无法从阵列中移除元素
- 24. 从python3的列表中删除元素
- 25. 删除阵列内数组元素
- 26. 如何删除元素,还移阵列
- 27. 阵列不会删除所有元素
- 28. 删除基于阵列元素键
- 29. 如何从一个阵列中删除一个阵列的元素?
- 30. 从angularjs中删除列表中的最后一个元素
有7个元素的数组呢? – hakre