仙台の山奥で自転車に乗ったり転んだり

愛車の GIOS でサイクリングしたりポタリングしたり、それをブログに記録してみたり。ロードバイクや自転車や坂のことを書いてみたり。ときたまプログラムのことを忘れないようにメモってみたり。

2006-01-01から1年間の記事一覧

コンストラクタの挙動

php

コンストラクタ内部で参照は意図しない働きをすることについて。 http://www.php.net/manual/ja/language.oop.newref.phpコンストラクタの戻り値がコピーだから参照が成り立たないんだから,専用のfactoryメソッドを用意して,new命令でインスタンスを作らな…

日時計算のバカなバグ

PHP

"月"だけを求める単純な処理で、ありえないおバカなバグがあった……。 $month = date('n') - 1; $res_time = mktime(0, 0, 0, $month); // $res_timeに前月のタイムスタンプができていることを期待みたいな感じのスクリプトを書いて、問題に気づいてなかった。…

文字列型の変数に対する「isset($xxx[x])」の挙動

PHP

isset($d["hoge"])が成り立つのは文字列だからです - よくきたblog試してみた。 $hoge = 'hoge'; var_dump(isset($hoge['hoge'])); // bool(true) echo $hoge['hoge']; // 'h' echo $hoge[0]; // 'h' echo $hoge[(int) 'hoge']; // 'h' $no_str = ''; var_du…

$function_name() vs call_user_func($function_name)

PHP

http://dikini.net/php_design_patternsで、「$callable(...)」と「call_user_func($callable,...)」「call_user_func_array($callable,...)」について言明していた。 あいかわらず英語の内容を翻訳する気はゼロだけど、ニュアンス的に「$callable(...)」は…

配列キーでの「整数」と「数字文字列」の比較

PHP

どうでもいいことだけど、配列のキーが「整数」の場合と「数字文字列」の場合との比較が気になった。 $key_is_int = array(1, 2, 3, 4, 5); $key_is_str = array('0' => 1, '1' => 2, '2' => 3, '3' => 4, '4' => 5); // TRUE var_dump($key_is_int === $key…