Monthly Archives: January 2008

PHPで、オブジェクト内の配列の要素にアクセスしたいとき

class Hoge { public $foo = array(1, 2, 3); } $foo = ‘foo’; $hoge = new Hoge; echo $hoge->{$foo}[1] . “\n”; echo $hoge->foo[1] . “\n”; あまり使わないと思いますが、、get_object_varsと組み合わせて使いたい場面が出たので。 {}が重要。 $fooを{}で囲わないと$foo[1]が優先されて”o”になってしまい(文字列にも添え字でアクセスできてしまうので)エラーになるようだ。 PHP Notice: Undefined property: Hoge::$o 最初はarray_sliceとcurrentを併用していた。

Posted in いじる | Leave a comment

MacBook Air、即買いは、、うーん

以下の点が気になる。 USBが1個しかない 有線のLANケーブルが挿せない 値段が高い USBに挿す可能性があるのはEMOBILE、マウス、USBメモリ、デジカメなのだがいちいち抜き差しするのかUSBハブを持ち歩くのか。ThinkPadはマウスがなくても長時間辛くないがマルチなタッチパッドはどうなんだろう。 全部無線で大丈夫、と言っていた友人もいたが個人的には1箇所、有線しかない環境があるので気になる。EMOBILEで事足りるか。 値段。SSDでどのぐらい変わるのかにもよるが、思っていたより高いし、とりあえず買ってみるにもちょっと。。30万円以内がよかったなぁ。 細かいところも気になるので早く実際に触ってみたい。 キータッチ&配列 体感の重さ&ACアダプタの重さ いずれにせよ、マルチタッチは面白そう。 この前出たメタリックなiMacにはかなり感動したものの散々迷って結局、Dellでデュアルモニタにした方が安くて画面が広くなる、と買わずじまい。薄型のノートにはかなり期待を寄せていただけにどうしたものか。うーん。

Posted in 感動する | 2 Comments

PHPでクラス定数の一覧は取得できないのかな?

get_defined_constants()やget_class_vars()などでは取得できないので、、無理っぽい。⇒追記参照 class Test { const HOGE = 1; public $hoge = 2; } print_r(get_class_vars(‘Test’)); 一覧を取得したいがためにクラス変数でやろうとすると、上書きを阻止する手段がなくなってしまう。 PHP: Class Constants – Manual ここのコメントにあるコードがちょっと近かったので参考にしてあれこれいじってみた。 class aClassConstant { final function __set($member, $value) { throw new Exception(“You cannot set a constant.”); } final function __get($member) { return $this->$member; } } class Test extends aClassConstant { const HOGE = 1; static [...]

Posted in いじる | 1 Comment

Page optimized by WP Minify WordPress Plugin