LimitIterator类而不是array_slice

时间:2016-05-26 06:32:42

标签: php spl

在研究SPL期间,我看到了LimitIterator,它获得了一个阵列。

// Create an iterator to be limited
$fruits = new ArrayIterator(array(
    'apple',
    'banana',
    'cherry',
    'damson',
    'elderberry'
));

// Loop over first three fruits only
foreach (new LimitIterator($fruits, 0, 3) as $fruit) {
    var_dump($fruit);
}

string(5) "apple"
string(6) "banana"
string(6) "cherry"

但是为什么我必须使用SPL LimitIterator并创建一个类,一个新的ArrayIterator Istance,什么时候我可以用简单的array_slice获得相同的结果?

$array = array('apple','banana','cherry','damson','elderberry');

foreach( array_slice($array,0,3) as $value ){
    var_dump($value);
}

string(5) "apple"
string(6) "banana"
string(6) "cherry"

0 个答案:

没有答案