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なら右側まで評価されると。なるほどー。経験値++。

でもこんなコードは書かないようにしよう。トリッキーすぎる。気がする。