2

比較のために同等のコード(、 )の代わりに単語(たとえばAND、 )を使用することの不利な点があるかどうか疑問に思いましたか?後者が他の多くのプログラミング言語と互換性のある構文であることに加えて、それらを選択する他の理由はありますか?OR&&||

4

4 に答える 4

6

ANDは&&と同じではありません

例えば:

<?php $a && $b || $c; ?>

同じではありません

<?php $a AND $b || $c; ?>

最初のものは(aとb)またはcです

2番目のaおよび(bまたはc)

なぜなら|| とよりも優先度は高くなりますが、&&よりは低くなります

詳細については、PHPの論理演算子演算子の優先順位を確認してください。

于 2012-10-17T08:33:19.183 に答える
5

=オペレーターと一緒に使用すると、予期しない欠点が生じます。

$result = false || true; # true, $result is true
/* Translated to result = (false || true) */

$result = false or true; # true, $result is false
/* Translated to (result = false) or true */
于 2012-10-17T08:39:04.373 に答える
1

PHPマニュアル(論理演算子)では、質問で何を尋ねるかについて説明しています。

「and」演算子と「or」演算子の2つの異なるバリエーションの理由は、それらが異なる優先順位で動作するためです。(演算子の優先順位を参照してください。)

したがって、違いは優先順位にあり、各単一演算子の論理的な意味ではありません。

あなたの例では:(x && y || z)そして(x AND y OR z)、2つの式の間に違いは見られません。

于 2012-10-17T08:34:16.700 に答える
0

それらは同じことをしますが、&&and演算子はand||よりも優先されます。ANDOR

基本的に、これは混乱を招く可能性があると思います。そのため、1つの表記法に固執し、それらを混合しない場合は、問題なくコードを読みやすくなります。

于 2012-10-17T08:31:44.413 に答える