next

配列の内部ポインタを進める

説明

mixed next(arrayobject &$array)

next は、ひとつの違いを除いて current と同じです。 next は要素を返す前に内部配列ポインタをひとつ先に進めます。 つまり、次の配列要素を返すとともに内部配列ポインタをひとつ進めるということです。

パラメータ

array

対象となる配列。

戻り値

内部配列ポインタが指す場所の次の場所の値を返します。 それ以上要素がない場合は false を返します。

警告

この関数は論理値 false を返す可能性がありますが、false として評価される値を返す可能性もあります。 詳細については 論理値の セクションを参照してください。この関数の返り値を調べるには ===演算子 を 使用してください。

変更履歴

バージョン 説明
8.1.0 この関数を object に対してコールすることは、推奨されなくなりました。 object に対して最初に get_mangled_object_vars を使って配列に変換するか、ArrayIterator のような Iterator を実装したクラスのメソッドを使ってください。
7.4.0 SPL クラスのインスタンスは、プロパティを持たない空のオブジェクトのように扱われるようになりました。これより前のバージョンでは、この関数と同じ名前の Iterator のメソッドをコールしていました。

例1 next および類似関数の使用例

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

注意

注意: 配列の最後の要素に対してこの関数を実行した結果は、 次の要素が bool false だった場合と区別できません。 false 要素を含む配列を順に処理するには、foreach 関数を参照ください。 それでも next 関数を使い、 適切に配列の最後に達していることをチェックするには、 key 関数の結果が null であることを確認するようにしてください。

参考

  • current
  • end
  • prev
  • reset
  • each