我有一个PHP数组,里面有50个项目。然后我使用array_slice提取12个项目:
$extractItems = array_slice($rows,0,12);
然后我使用$ extractItems,这很好。
我想抓住其他项目(例如:$ rows - $ extractItems)来缓存。
当我查看$ rows时,我可以看到array_slice不会删除这些项目。只需将一个部分复制到一个新数组。
我如何最好地获得一组不是'array_sliced'的项目?
谢谢你:)
答案 0 :(得分:5)
您可以通过从索引12开始切片来获得其余项目:
array_slice($rows, 12);
这类似于substr($str, $index)
的工作方式。
答案 1 :(得分:2)
您可以使用array_splice
代替。这将删除$rows
$extractedItems = array_splice($rows, 0, 12);
// $rows now equals $rows - $extractedItems
快速演示
php > $rows = [1,2,3,4,5,6];
php > $extractedItems = array_splice($rows, 0, 2);
php > var_dump($extractedItems, $rows);
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
array(4) {
[0]=>
int(3)
[1]=>
int(4)
[2]=>
int(5)
[3]=>
int(6)
}