基本的
これは:
<?PHP if (false && crazyFunction()) : ?>
と同じ:
<?PHP if (false) : ?>
<?PHP if (crazyFunction()) : ?>
最初の例で FALSE が評価された場合、引き続き "crazyFunction" を評価しますか?
基本的
これは:
<?PHP if (false && crazyFunction()) : ?>
と同じ:
<?PHP if (false) : ?>
<?PHP if (crazyFunction()) : ?>
最初の例で FALSE が評価された場合、引き続き "crazyFunction" を評価しますか?
&&
オペレーターはショットサーキット オペレーターです。つまり、結果が偽になることがわかったらすぐに停止します。
これは、左側の部分が false と評価されると停止し、false を返すことを意味します。crazyFunction()
この例では決して呼び出されません。
ブール式の値が判明するとすぐに、それは実行されなくなります。
古い形式の mysql 接続でのこの (非推奨の) 例に注意してください。
$db=mysql_connect_db('...') or die('Database error');
最初の部分の後に、0などmysql_connect
ではないものが返された場合、 this は実行されません。FALSE
NULL
die()
mysql_*
(これが関数を使用するのが正しいかどうかに関係なく)