PHP array_slice - 如何获取没有切片项的原始数组

Ada*_*dam 1 php arrays

我有一个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'的项目?

谢谢 :)

Ja͢*_*͢ck 5

您可以通过从索引12开始切片来获取其余项目:

array_slice($rows, 12);
Run Code Online (Sandbox Code Playgroud)

这与substr($str, $index)工作方式类似.


Phi*_*hil 5

你可以用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)