上級PHPコラム『Standard PHP Library(SPL) Iteratorインターフェイス編2』(PHP上級試験対策)
PHP技術者認定機構の吉政でございます。
PHP技術者認定機構の認定スクールであるヒューマンリソシアが
私が企画した、古庄親方のPHPコラム『Standard PHP Library(SPL) Iteratorインターフェイス編2』を公開しています。
古庄親方にPHP技術者認定上級試験対策コラムを執筆頂き、13号になりました。よくネタが切れないものと、感心しています。さすが古庄親方です。
さて、今日も古庄親方の上級PHPテクニックいってみましょー!!
###
まずは、前回出てきた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メソッドが担当してくれる事を期待しています。
上述を、コードっぽいもの(実際には動かないので)でそれっぽく書いてみると、以下のようになります。
(この続きは以下のコラム本文をご覧ください)
http://resocia.jp/column/307/