问题描述
也许是个愚蠢的问题,但我有一个数组,我想创建一个 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();