開発者がとの代わりにAND
を使用することを決定したコードベースがあります。OR
&&
||
&&
演算子の優先順位(前に行く)に違いがあることは知っていますand
が、与えられたフレームワーク(プレスタショップ(正確に言うと)それは明らかに理由ではありません。
どのバージョンを使用していますか?and
よりも読みやすいですか&&
? それとも違いはありませんか?
ベストアンサー1
および を使用するAND
とOR
、最終的には次のような問題に遭遇することになります。
$this_one = true;
$that = false;
$truthiness = $this_one and $that;
何が等しいか推測したいですか$truthiness
?
... bzzztと言った方はfalse
ごめんなさい、間違いです!
$truthiness
上記の値は ですtrue
。なぜですか?=
には優先順位が高いよりand
。暗黙の順序を示す括弧を追加すると、これがより明確になります。
($truthiness = $this_one) and $that
最初のコード例で&&
の代わりにを使用した場合、期待どおりに動作し、 になります。and
false
以下のコメントで説明されているように、括弧は : よりも優先順位が高いため、これも正しい値を取得するために機能します=
。
$truthiness = ($this_one and $that)