PHPの論理演算子の使い方【初心者向け】

初心者向けにPHPの論理演算子の使い方について解説しています。論理演算子をif文の中で使ってみましょう。それぞれの書き方と意味を説明しながら比較演算子と論理演算子を組み合わせて解説しています。参考にしてみてください。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

PHPの論理演算子の使い方について解説します。

それぞれの書き方と意味を説明しながら比較演算子と論理演算子を組み合わせて解説しています。

 

なお本記事は、TechAcademyのPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPの論理演算子の使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

論理演算子とは

「||」「or」「&&」「and」「!」といった演算子になります。

基本的には、「||」「&&」しか使うことになると思いますので、この2つだけは確実に使いこなせるようにしましょう。

似た概念で比較演算子というものもありますが、こちらは比較対象となる2つの関係を「>」「<」「=」などの演算子を使い、比較結果をtrue/falseで表します。

例えば、
10 < 20

これは10は20より小さいので、比較結果はtrueです。

論理演算子では、比較結果であるtrue/falseの組み合わせとして演算子「||」「&&」を用いて、またもやtrue/falseの結果を出します。

 

論理演算子の使い方

「||」と「or」は同じ意味を表します。
「A || B」 ・・・ AがtrueまたはBがtrueのときtrue

「&&」と「and」は同じ意味を表します。
「A && B」 ・・・ AがtrueかつBがtrueのときtrue

「!」は反対の結果を意味します。
「!A」 ・・・ Aがtrueならfalse、falseならtrue

「xor」はあまり使う機会がない演算子です。
「A xor B」 ・・・ AかBいずれか片方だけがtrueの場合のみtrue

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

単純にtrue/falseを組み合わせて論理演算子を使ってみましょう!

// 「||」「or」
var_dump(true || true);   // bool(true)
var_dump(true || false);  // bool(true)
var_dump(false || true);  // bool(true)
var_dump(false || false); // bool(false)

// 「&&」「and」
var_dump(true && true);   // bool(true)
var_dump(true && false);  // bool(false)
var_dump(false && true);  // bool(false)
var_dump(false && false); // bool(false)

// 「!」
var_dump(!true);  // bool(false)
var_dump(!false); // bool(true)

// 「xor」
var_dump(true xor true);   // bool(false)
var_dump(true xor false);  // bool(true)
var_dump(false xor true);  // bool(true)
var_dump(false xor false); // bool(false)

比較演算子と論理演算子を組み合わせてみましょう。

// 比較対象
$numA = 1;
$numB = 10;
$str = ""test"";

// ↓の結果は($numA > $numB)がfalseになり、($str == ""test"")がtrueとなるため
// false || true と同じ結果になります
var_dump(($numA > $numB) || ($str == ""test""));
この記事を監修してくれた方

青木 敦史(あおきあつし)
昼間は自社のWebサービスを運営している会社でフロントエンド/バックエンドを担当しているエンジニア。

Webエンジニアの経験は5年ほどです。TechAcademyではPHP/Laravelコースを担当しています。
開発実績: メイクレッスン支援アプリ / 電力自由化パッケージ / 携帯電話料金計算 / ライブチャットサービス

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

PHPやフレームワークのLaravelを使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。