1

基本的

これは:

<?PHP if (false && crazyFunction()) : ?>

と同じ:

<?PHP if (false) : ?>
    <?PHP if (crazyFunction()) : ?>

最初の例で FALSE が評価された場合、引き続き "crazyFunction" を評価しますか?

4

2 に答える 2

2

&&オペレーターはショットサーキット オペレーターです。つまり、結果が偽になることがわかったらすぐに停止します。

これは、左側の部分が false と評価されると停止し、false を返すことを意味します。crazyFunction()この例では決して呼び出されません。

于 2013-03-11T13:54:00.073 に答える
0

ブール式の値が判明するとすぐに、それは実行されなくなります。

古い形式の mysql 接続でのこの (非推奨の) 例に注意してください。

$db=mysql_connect_db('...') or die('Database error');

最初の部分の後に、0などmysql_connectではないものが返された場合、 this は実行されません。FALSENULLdie()

mysql_*(これが関数を使用するのが正しいかどうかに関係なく)

于 2013-03-11T13:59:25.490 に答える