我有一个PHP数组,里面有50个项目.然后我使用array_slice提取12个项目:
$extractItems = array_slice($rows,0,12);
Run Code Online (Sandbox Code Playgroud)
然后我使用$ extractItems,这很好.
捕获的是我想将剩余的项目(例如:$ rows - $ extractItems)写入缓存.
当我查看$ rows时,我可以看到array_slice不会删除这些项目.只需将一个部分复制到一个新数组.
我怎样才能最好地获得一组不是'array_sliced'的项目?
谢谢 :)
您可以通过从索引12开始切片来获取其余项目:
array_slice($rows, 12);
Run Code Online (Sandbox Code Playgroud)
这与substr($str, $index)工作方式类似.
你可以用array_splice它来代替。这将从中删除前 12 项$rows
$extractedItems = array_splice($rows, 0, 12);
// $rows now equals $rows - $extractedItems
Run Code Online (Sandbox Code Playgroud)
快速演示
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)
}
Run Code Online (Sandbox Code Playgroud)