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

时间:2014-02-04 04:24:30

标签: php arrays

我有一个PHP数组,里面有50个项目。然后我使用array_slice提取12个项目:

$extractItems = array_slice($rows,0,12);

然后我使用$ extractItems,这很好。

我想抓住其他项目(例如:$ rows - $ extractItems)来缓存。

当我查看$ rows时,我可以看到array_slice不会删除这些项目。只需将一个部分复制到一个新数组。

我如何最好地获得一组不是'array_sliced'的项目?

谢谢你:)

2 个答案:

答案 0 :(得分:5)

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

array_slice($rows, 12);

这类似于substr($str, $index)的工作方式。

答案 1 :(得分:2)

您可以使用array_splice代替。这将删除$rows

中的前12个项目
$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)
}