我需要刪除數組的前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. PHP:從嵌套數組中刪除值
- 6. 如何從數組中刪除空值?
- 7. 如何從數組中刪除空值?
- 8. PHP,從數組中刪除?
- 9. PHP從數組中刪除
- 10. 如何從PHP中的數組中刪除子數組?
- 11. 如何從php中的大數組中刪除子數組?
- 12. 從數組中刪除值?
- 13. 從數組中刪除值
- 14. 從數組中刪除值
- 15. 從數組中刪除值
- 16. 如何從cookie數組中刪除數組中的值?
- 17. PHP:如何從數組中刪除/刪除密鑰
- 18. 如何刪除一個鍵並從PHP數組中返回值?
- 19. 如何從數組json php中刪除值?
- 20. 如何從數組中刪除數組?
- 21. php刪除數組中的值
- 22. 如何刪除數組中的double值?
- 23. 在PHP中從嵌套的foreach中刪除數組的值
- 24. 如何從多維數組中刪除一個空數組php
- 25. 基於值從數組中刪除值?
- 26. 如何從php中的對象數組中刪除元素?
- 27. 如何從PHP中的關聯數組中刪除元素
- 28. 如何從PHP中刪除數組中的索引?
- 29. 從數組中刪除重複的值
- 30. 如何從python中的數組中刪除空值
除了給出的答案:要刪除單個值,使用`unset`:http://php.net/manual/en/function.unset.php – 2011-01-30 10:36:32