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

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

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

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

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

 

そもそもPHPについてよく分からないという方は、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では、初心者でも最短4週間でPHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。