2010-07-30 (金)
*いまどきのPHP
JavaとPHPは部分配列取得できないので酷すぎると思ってましたが,良く考えたらPHPは配列を自分で実装可能なので部分配列も作れました.
フィボナッチ数列を表す配列
ArrayAccessをimplementsすることで配列を作れます.実際にデータを格納しておく必要は無いので,無限長のデータも手軽に表現出来ますし,結構便利なので積極的に使いましょう.
class MyArray implements ArrayAccess{ public function __construct() { } public function offsetSet($offset, $value) { } public function offsetExists($offset) { return true; } public function offsetUnset($offset) { } public function offsetGet($offset) { return self::fib($offset); } private static function fib($n) { if ($n<=0) return 0; if ($n==1) return 1; return self::fib($n-1) + self::fib($n-2); } } $a = new MyArray(); echo $a[16];
他にも,SPL(Standard PHP Library)を使うと,PHPプログラミングも少しはマシになるのですが,ライブラリ類がSPL使わないことを前提に書かれていることが多いし,サンプルもSPL使ったものが少ないのがとても残念です.ただ,SplFileObjectを見ても分かりますが,必要な関数がまとまっただけで,とても便利になるという類のものでは無いんだよなぁ.