最終更新: zaininnari 2010年04月27日(火) 01:33:12履歴
「==」を使用した場合、値が比較される。
型キャストが自動的に行われる。
「"0" == 0」の場合は、型キャスト(型の変換)が行われ、結果は、「true」となる。
そのため、型キャストにはコストがかかるため、遅くなる。
「===」を使用した場合、型と値が比較される。
型キャストが自動的に行われない。
そのため、結果を早く返すことができる。
型キャストが自動的に行われる。
「"0" == 0」の場合は、型キャスト(型の変換)が行われ、結果は、「true」となる。
そのため、型キャストにはコストがかかるため、遅くなる。
「===」を使用した場合、型と値が比較される。
型キャストが自動的に行われない。
そのため、結果を早く返すことができる。
if などで条件式を使用する際、変更の影響が大きいもの(または頻度が多いもの)を先に記述する。
$var1 && $var2
があるとき、$var1が「false」ならば、$var2の評価を行わない。
設定と一緒に使用する際に、高速化を図れる。
$config === true && SomethingFunc($param)
$var1 && $var2
があるとき、$var1が「false」ならば、$var2の評価を行わない。
設定と一緒に使用する際に、高速化を図れる。
$config === true && SomethingFunc($param)
元ネタ : http://d.hatena.ne.jp/sotarok/20100321/1269200776
連結回数が多ければ 「.」 が有利。
文字列が長ければ 「,」 が有利。
連結回数が少ない(1回)&文字列が短い(aとb)場合、
実行する度に、大小が逆転して、差が分からない。
連結回数が多ければ 「.」 が有利。
文字列が長ければ 「,」 が有利。
連結回数が少ない(1回)&文字列が短い(aとb)場合、
実行する度に、大小が逆転して、差が分からない。
- 参考:動的呼び出しとリファレンス
PHP 5.3.2-0.dotdeb.2 でのベンチ
動的な呼び出しを行いたいのならば、
変数による呼び出し、
$class = 'class_name';
$method = 'method_name';
$class::$method($arg);
OR
$method = "function_name";
$method($arg);
を行うか、
手動でラップするしかない。
function dispatchMethod($method, $params = array()) { switch (count($params)) { case 0: return $this->{$method}(); case 1: return $this->{$method}($params[0]); case 2: return $this->{$method}($params[0], $params[1]); case 3: return $this->{$method}($params[0], $params[1], $params[2]); case 4: return $this->{$method}($params[0], $params[1], $params[2], $params[3]); case 5: return $this->{$method}($params[0], $params[1], $params[2], $params[3], $params[4]); default: return call_user_func_array(array($this, $method), $params); break; } }
最新コメント