論理演算子は比較的単純で、私たち人間が論理的に考える方法です。
これは、絹を吊るす多くの男性の願いを物語っています。「ある女性が私よりも美しいか裕福であれば、私は彼女と結婚します」。どの条件も満たされない場合は、忘れてください。
上記の善悪の評価をしない精神状態は、これが典型的なコンピューターの思考であることを説明するためのものです。
美しさの条件が真(真)、富の条件が真(真)であれば、彼女と結婚するという行動や行動が行われます。そうでなければ、この女性と結婚しないでください。
そして、これらのロジックを要約して以下の表に示します: $x は条件 1、$y は条件 2 です。説明:
論理 AND。中国語では AND として解釈されます。 $x と $y が両方とも true の場合に実行されることがわかります。
論理 OR、中国語では or として解釈されます。 $x または $y のいずれかが true の場合に実行されると理解できます。
論理否定、中国語で説明すると否定です。 $x が false の場合、非操作を実行します。 false(偽)でない場合はtrueとなり、true区間を実行することができます。 true が推論されると、false の間隔が実行されます。
論理 XOR、$x と $y が同じ場合は false、同じでない場合は true。
例 | 説明 | 詳しい説明 |
---|---|---|
$xと$y | 論理AND(および関係) | $xと$yがtrueの場合、trueを返す |
$ × && $y | 上と同じ | 同じ$a||$ b |
同上 | !$x | |
反転、つまり、trueがfalseになり、falseがtrueになります | $x xor $y | |
同じTake false、違いはtrue | 次に、試してみる例をいくつか挙げてみましょう。また、自分でさらに実験を行うことも忘れないでください (3.4.4 章の比較演算子を組み合わせて、自分でいくつかの例を書くことができます)。 論理積: <?php $x = true; $y = false; //逻辑与(并且),要求两个都为true才执行真区间,所以代码中执行假区间 if($x && $y){ echo '执行了真区间'; }else{ echo '执行了假区间'; } ?> 論理OR: <?php $foo = false; $bar = true; //逻辑或,有一个为真则为真 if($foo || $bar){ echo '执行真区间'; }else{ echo '执行假区间'; } ?> 論理NOT: <?php $foo = false; //逻辑非,把false变为了true if(!$foo){ echo '执行真区间'; }else{ echo '执行假区间'; } ?> 【重要な知識】ショートサーキット ショートサーキットとは、問題を考えるために遅延モードを使用することです。 論理 AND の特徴は、両側が true の場合は true、その他の状況は false であることです。 私たちは今、自分自身を怠け者、とてもとても怠け者だと想像しています。論理積と論理和について考えてみましょう。このように理解できますか: コードで表現すると: if($x && $y) $x が既に false の場合、後続の $y を実行する必要はありません。 論理和: 最初の条件が true の場合、後でそれを実行する必要はありません。 コードで表現すると: if($x || $y) $x がすでに true の場合、後続の $y を実行する必要はありません。 それを証明するコードを書いてみましょう: <?php $x = false; $y = 2; if($x && $y++){ echo '真'; }else{ echo '假'; } //结果还为2,说明没有执行$y++ echo $y; ?> コードは次のとおりです。2 つのアンパサンドを 1 つのアンパサンドに変更してみてください: <?php $x = false; $y = 2; if($x & $y++){ echo '真'; }else{ echo '假'; } //再看看结果 echo $y; ?> 短絡のロジックを見てみましょう: <?php $x = true; $y = 2; if($x || $y++){ echo '真'; }else{ echo '假'; } //结果,因为$x已经为true了,肯定执行真区间没有必要执行$y++了 echo $y; ?> これを | に変更してみましょう <?php $x = true; $y = 2; if($x | $y++){ echo '真'; }else{ echo '假'; } //自己运行对比结果 echo $y; ?> 上記の例を通じて、&& と & の違い、および || の違いが分かりました。短絡とは何かについても学びました。では、どこで短絡を使用できるのでしょうか?奇妙な書き方がいくつかありますが、それを明確に理解する必要があります。実際、それは基本文法の再適用です。 <?php //如果为defined('AUTH')存在AUTH常量则为true,不访问后面的exit了。如果为false则执行exit defined('AUTH') or exit('存在安全因素不准访问'); ?> 上記のコードは、典型的な短絡アプリケーションのコードです exit は、実行を停止してここで終了することを意味します。次の PHP コードは実行されなくなりました。 2 つの用途があります: exit <?php
$x = true;
$y = 2;
if($x | $y++){
echo '真';
}else{
echo '假';
}
//自己运行对比结果
echo $y;
?> なし |