質問: 職場でPHPのソースコードを読んでいて、 IF文の中で使用する論理演算子に && と and の2つの演算子を使っている事があります 基本的に同じ意味だと思うのですが、 コーディングを行う際に、どちらの演算子を使用するのが一般的なのでしょうか?
回答: **論理積は && を使う方が一般的です。** 同じく論理和についても || と or と用意されていますが、 論理和については || が一般的に使われます。 意図せずに && and 両方を使ってコーディングを行うと思わぬ動きをしてしまいます。 ``` //例1: if(true && true || true && false){ echo "true"; }else{ echo "false"; } ``` ``` //例2: if(true and true || true and false){ echo "true"; }else{ echo "false"; } ``` 上記の結果として、 ``` 例1の(true && true || true && false)の結果はTRUEになりますが、 例2の(true and true || true and false)の結果はFALSEになります。 ``` これは、使用する演算子によって、演算の際に優先される順位が違う為、結果が変化します。 or << and << || << && の順で、優先順位が高くなります。 そのため、例1の処理順序は ``` ((true && true) || (true && false)); ↓ (true || false) ↓ (true) という流れになり、 例2は、 ((true) and (true || true) and (false)); ↓ ((true and true) and (false)) ↓ (true and false) ↓ (false) となります。 ``` 論理演算子の使い方については、職場のコーディングルールに明記されていなければ、 相談して追加してみてはいかがでしょうか