B130 論理演算子(PHP)

論理演算子とは、「集合」や「命題」などの論理演算を行うためのものです。if文の条件判定などに用いることが多く、真(true)または偽(false)を判定することができます。

論理演算子の種類

|| (OR:論理和)

“OR” 演算子は2つの縦の記号で表現されます。 A もしくはBどちらかがtrueとなった際にtrueを返します。

PHP
$result = (A || B);

上記の際、AとBどちらかがtureであればresultはtrueとなります。

&& (AND:論理積)

“AND” 演算子は2つの&の記号で表現されます。 AとBがどちらもtrueとなった際にtrueを返します。

PHP
$result = (A && B);

上記の際、AとBがどちらもtrueであればresultはtrueとなります。

! (NOT:否定)

“NOT” 演算子は1つの!の記号で表現されます。 true、falseの逆の値を返します。

PHP
$result = !A;

上記の際、Aがtrueであればfalseを返し、Aがfalseであればtrueを返します。

XOR(排他的論理和)

“XOR”演算子「xor」の左辺及び右辺のどちらか一つの条件式が真の場合に全体の式の評価が真となります。

PHP
$result = (A xor B);

上記の際、AもしくはBがtrueであればtrueを返し、どちらもtrueもしくはどちらもfalseであればfalseを返します。

例題

以下コードの出力値はtrue/falseのどちらか

PHP
$result = (true || false);
var_dump($result);

回答

true
||はOR演算子なので、どちらかがtrueの際にtrueを返すため

以下コードの出力値はtrue/falseのどちらか

PHP
$result = (true xor true);
var_dump($result);

回答

false
xorは排他的論理和なので、どちらもtrueの際にfalseを返すため

エンジニアからのアドバイス

実際の開発現場では比較演算子と呼ばれるものを用いてtrueやfalseを返すものが多く、直接的にtrueやfalseをそのまま記載するケースが少ないです。比較演算子につきましては次の記事にて紹介します。

---