今回はこの機能を用いてforeachについて学んでみます。
サンプルコード 実行結果
string(18) "myIterator::rewind" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" 0 => firstelement string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" 1 => secondelement string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" 2 => lastelement string(16) "myIterator::next" string(17) "myIterator::valid"この結果から分かるように、foreachは
- 最初の要素に戻る
- (現在の要素が有効か)チェックする
- 要素を返す
- キーを返す
- 次へ
ちなみに、オブジェクトへのforeachがこのようにクラス内メソッドを決められた順序で辿っていくのは
Iteratorインタフェースを実装したクラスの時のみです。
0 件のコメント:
コメントを投稿