Standard PHP Library(SPL) Iteratorインターフェイス編2

※この記事は読者によって投稿されたユーザー投稿です:
  • 編集部の見解や意向と異なる内容の場合があります
  • 編集部は内容について正確性を保証できません
  • 画像が表示されない場合、編集部では対応できません
  • 内容の追加・修正も編集部では対応できません

ヒューマンリソシア株式会社はコラム「Standard PHP Library(SPL) Iteratorインターフェイス編2」を公開しました。
まずは、前回出てきたreset、current、key、nextの各関数、及び「whileでの終了判定の問題」を思い出してください。
そうして、それを思い出していただいた上で、もう一度「Iteratorインターフェイス」を見てみましょう。

Iterator extends Traversable {
/* メソッド */
abstract public mixed current ( void )
abstract public scalar key ( void )
abstract public void next ( void )
abstract public void rewind ( void )
abstract public boolean valid ( void )
}
概ね察しが付くと思いますが、current、key、nextの各メソッドはそのまま、各関数と同じ意味合いになります。
rewindはresetと等価です。
また、whileの終了条件で色々と面倒がありましたが、それはvalidメソッドが担当してくれる事を期待しています。

上述を、コードっぽいもの(実際には動かないので)でそれっぽく書いてみると、以下のようになります。

<?php
// 対象配列の準備
$obj = new iterativeData(array("one", "two", 0, "3rd" => "three"));

// 配列の内部ポインタを先頭の要素にリセット
$obj->rewind();
// 反復処理
while (false !== $obj->valid()) {
$value = $obj->value();
$key = $obj->key();
echo "Key: $key; Value: $value\n";
$obj->next();
}

この続きは以下をご覧ください
http://resocia.jp/column/307/

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

Webアプリケーション
Webアプリケーションは、一般にオンラインで作動するアプリケーションを指す。 ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]