or構文?
Structures_DataGrid_Renderer_XLSのソースを眺めてたら、こんな書き方を見つけたんですけども
<?php $this->isBuilt() or $this->build();
なにこれ?
試しにこんなのを実行してみたら
<?php true or print("hoge\n"); false or print("fuga\n");
fuga
て出力された。へー。
でもこの構文についての詳しい情報が見当たらない...。ググるにしても「php or」じゃ関係ないのがひっかかりまくるし。なんなんですかこれはー!
って書いてから気づいた。これ、ただの論理演算ですね...。
or演算子は左側がtrueなら右のやつを評価するまでもなく全体がtrueだから右のは評価(実行)されなくて、左側がfalseなら右側まで評価されると。なるほどー。経験値++。
でもこんなコードは書かないようにしよう。トリッキーすぎる。気がする。