PHP - 创建带偏移量的 ArrayIterator

问题描述

也许是个愚蠢的问题,但我有一个数组,我想创建一个 ArrayIterator 但有一个偏移量。

例如,我有以下数组:

$fruits = [
  1 => 'banana',2 => 'apple',3 => 'orange',...
  20 => 'raspBerry'
]

我的偏移量为 3。

我想用 $fruits 数组和 $offset 创建一个 ArrayIterator。 我怎样才能做到这一点 ?我不明白 ArrayIterator 文档'。 有 OffsetSet() 方法,但我不明白它是如何工作的

解决方法

要么在循环时跳过,要么使用 array_splice 从偏移量开始创建新数组。

$obj = new ArrayObject( array_slice($fruits,3) );
$it = $obj->getIterator();