我需要删除数组的前29个值。我搜索了,似乎没有任何内置的PHP函数允许这样做。那么这怎么做呢?如何从PHP中的数组中删除值?
0
A
回答
2
可以使用array_splice
从数组中取出的值:
array_splice($arr, 0, 29)
阵列被作为参考作为array_splice
通过修改阵列本身。它返回已被删除的值的数组。
下面是如何工作的一个例子:
$arr = range(1, 30);
$removed = array_splice($arr, 0, 29);
var_dump($arr); // array(1) { [0]=> int(30) }
var_dump($removed); // array(29) { [0]=> int(1) … [28]=> int(29) }
在相反,array_slice
(不p)只是拷贝阵列的不修改它的一部分:
$arr = range(1, 30);
$copied = array_slice($arr, 29);
var_dump($arr); // array(30) { [0]=> int(1) … [29]=> int(30) }
var_dump($copied); // array(1) { [0]=> int(30) }
这里array_slice($arr, 29)
复制从偏移29到结尾的所有内容,同时保留$arr
。
但正如你说你要删除的价值观,array_splice
似乎是更好的选择,而不是复制一个部分,并重新分配复制的部分回这样的变量:
$arr = array_slice($arr, 29);
因为虽然这具有相同的效果(前29个值不再存在),则执行两次复制操作:创建一个新阵列并复制除前29个值以外的所有内容,然后将该值重新分配给$arr
(需要再次复制整个阵列) 。
4
array_splice($array, 0, 29);
array_splice
删除数组中的元素并返回删除的元素。
另外,如果你想保持原来的数组,但希望创建与删除的第一个29个元素的数组,使用array_slice
:
$newArray = array_slice($array, 29);
相关问题
- 1. 如何从PHP中的数组中删除值?
- 2. 如何从PHP中的数组中删除重复值?
- 3. PHP:从嵌套数组中删除值
- 4. PHP从单个数组中删除值?
- 5. 如何从数组中删除空值?
- 6. PHP从数组中删除
- 7. 如何从PHP中的数组中删除子数组?
- 8. 从数组中删除值
- 9. 从数组中删除值?
- 10. 从数组中删除值
- 11. 如何从cookie数组中删除数组中的值?
- 12. 如何从数组中删除数组?
- 13. php删除数组中的值
- 14. 如何删除数组中的double值?
- 15. 在PHP中从嵌套的foreach中删除数组的值
- 16. 基于值从数组中删除值?
- 17. 从数据数组中删除值
- 18. 如何从JavaScript中的数组中删除逗号分隔值?
- 19. 如何从方法中的数组中删除值?
- 20. 如何从Perl中的数组中删除随机值?
- 21. 如何从firebase中的数组中删除字符串值
- 22. 如何删除二维数组(PHP)中的值?
- 23. PHP从数组中删除项目
- 24. 从PHP变量中删除空数组
- 25. 从数组中删除枚举项PHP
- 26. 从php数组中删除逗号
- 27. PHP从数组中删除重复项
- 28. 从PHP数组中删除字符串?
- 29. 从PHP JSON对象中删除数组
- 30. 如何在php中使用Json_decode从关联数组中删除$?
除了给出的答案:要删除单个值,使用`unset`:http://php.net/manual/en/function.unset.php – 2011-01-30 10:36:32