最新のPHPニュース

PHP6で実装されるTextIteratorクラスの詳細が公開されています

2006年07月14日

PHPのコミッターであるAndrei Zmievski氏のブログにて、時期バージョンのPHPで実装されるTextIteratorクラスの試案が公開されています。TextIteratorクラスを使うことで、文字列の分割や反復が、より簡単に行えるようになりそうです。Zmievski氏によると、TextIteratorクラスは国際化ライブラリであるICUのBoundary Analysis APIを用いて実現するということで、

  • コードポイント
  • 文字列
  • 単語
  • 改行
  • 文により、文字列を分割して反復するためのクラスです。例えば、以下のコードを使うことで、単語のイテレーションを行うことができます。
$str = "The quick brown fox jumped over the lazy dog."; 
foreach (new TextIterator($str, TextIterator::WORD) as $num => $word) {
  if ($word[0] != " ") {
    printf("%d. %s\n", $num, $word);
  }
}

このコードの結果は、

0. The
2. quick
4. brown
6. fox
8. jumped
10. over
12. the
14. lazy
16. dog

となり、とても簡単に文字列の分割が行われていることが分かります。また、処理速度のチューニングも行っており、これまでの正規表現やstrstr関数を使って同様の処理を実装した場合と比較しても、TextIteratorクラスの方が高速に動作するようです。TextIteratorクラスの他の例もブログに掲載されているので、いち早くPHP6の新機能を知りたい人は尋ねてみると良いでしょう。

関連リンク

この記事へのトラックバックURL

エセプログラマーの戯言

2008年01月14日 11:47 PHP6 TextIteratorクラス

http://www.phppro.jp/news/34

...

続きを読む