PHPWales 2020 - June 3rd to June 4th

ArrayIterator::next

(PHP 5, PHP 7)

ArrayIterator::next次のエントリに移動する

説明

public ArrayIterator::next ( void ) : void

この関数は次のエントリにイテレータを移動します。

パラメータ

この関数にはパラメータはありません。

返り値

値を返しません。

例1 ArrayIterator::next() の例

<?php
$arrayobject 
= new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';

$iterator $arrayobject->getIterator();

while(
$iterator->valid()) {
    echo 
$iterator->key() . ' => ' $iterator->current() . "\n";

    
$iterator->next();
}
?>

上の例の出力は以下となります。

0 => zero
1 => one

add a note add a note

User Contributed Notes 1 note

up
0
onelsonsenna at gmail dot com
8 years ago
If you use exchangeArray method of ArrayObject and then next method of ArrayIterator like this:

<?php
   
    $fruits
= array("apple", "grape", "lemon");

   
$colors = array("blue", "yellow", "green");

   
$arrayObject = new ArrayObject($fruits);
   
   
$arrayIterator = $arrayObject->getIterator();

    while(
$arrayIterator->valid()) {

        if (
$arrayIterator->current() == "grape") {
           
$arrayObject->exchangeArray($colors);
        }

       
$arrayIterator->next();
    }

?>

You will receive:

PHP Notice:  ArrayIterator::next(): Array was modified outside object and internal position is no longer valid

So be careful with next and prev operations. :)
To Top