例:
!define('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
o(︶︿︶)o ああ、今日はたくさんの人に質問しました。 「&&」で何が起こっているのか、ようやくわかりました
残念ながら、そのような記述が何を意味するのか判断できませんでした。後続のステートメントは実行されません。
とても簡単であれば、書く手間が省けます。 。 。
//簡単に説明すると、前の判定が偽の場合は次の判定は実行されず、真の場合は次の定数演算の定義を実行し続けます。
論理演算子
例 |
名前 |
結果 |
$a と $b |
そして (論理積) |
TRUE $a と $b の両方が TRUE の場合。 |
$a または $b |
または (論理和) |
TRUE $a または $b のどちらかが TRUEの場合。 |
$a xor $b |
Xor (排他的論理和) |
TRUE $a または $b のどちらかが TRUE の場合ですが、両方ではありません。 |
!
| Not(論理否定)
|
TRUE $a がTRUEでない場合。
|
$a && $b
| そして (論理積)
|
TRUE $a と $b の両方が TRUE の場合。
|
$a || $b
| または (論理和)
|
TRUE $a または $b のどちらかが TRUEの場合。
|
例 #1 論理演算子の例
コードをコピー コードは次のとおりです:
// 以下の foo() は「短絡されている」ため呼び出されません。オペレーター「はい。
$a = (false && foo());
$b = (true || foo());
$d = (true または foo()); // "||" は "or" よりも優先されます
$e = false || // $e には値 (false || true) が割り当てられます
$f = false または true; ; // $f には false が割り当てられます [Altair 注: "= は "or" よりも優先されます]
var_dump($e, $f)
// "&&" は "and" よりも優先されます
$ g = true && false; // $g には値 (true && false) が割り当てられ、結果は false になります
$h = true および false; // $h には値 true が割り当てられます。 "and" High よりも高い優先度]
var_dump($g, $h);
上記の例の出力は次のようになります:
bool(true)
bool(false)
bool(false) )
bool(true)
役立つかもしれない別の例
(isset($panelemail) && !empty($panelemail) ? $panelemail : $userdata['email']); ;
は userdata の電子メール アドレスを返しますが、この
(isset($panelemail) AND !empty($panelemail) ? $panelemail : $userdata['email']);
は false を返します。
その理由は、2 つの種類の and の優先順位が異なり、「&&」が「AND」よりも高く、「?:」演算子がたまたま 2 つの間にあるためです。 " (or) は実際には "AND" よりも大きいため、&&s および ||s を、括弧なしの AND および OR と決して混合しないでください。
例:
true && false || false
?>
は false を返しますが、
php
true AND false
?> は true を返します。
http://www.bkjia.com/PHPjc/321384.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/321384.html
技術記事例: !define('MAGIC_QUOTES_GPC') define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()); o(︶︿︶)o ああ、今日はたくさんの人に質問しました。ついに物事を「」する方法を理解しました...