2010-06 << 2010-07 >> 2010-08

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を見ても分かりますが,必要な関数がまとまっただけで,とても便利になるという類のものでは無いんだよなぁ.

2010-06 << 2010-07 >> 2010-08