CakeFest 2024: The Official CakePHP Conference

ArrayIterator::next

(PHP 5, PHP 7, PHP 8)

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

説明

public ArrayIterator::next(): 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

User Contributed Notes 1 note

up
1
onelsonsenna at gmail dot com
12 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