icon
icon

PHPの比較演算子「===」の使い方を現役エンジニアが解説【初心者向け】

初心者向けにPHPの比較演算子「===」の使い方について現役エンジニアが解説しています。比較演算子は値と値を比較しますが、===はデータ型も含めて比較をします。==の場合は値の自動変換などが行われますが、===では行われません。PHPで==や===の比較演算子を使って判定してみます。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

今回は、PHPの比較演算子「===」の使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

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

大石ゆかり

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

田島悠介

PHPの比較演算子「===」の使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

比較演算子「===」とは

C言語やJava言語から学ばれた方は「これ何?」と思われることでしょうか。Java言語では、

int 変数;

などのように変数には整数が入ると属性(データ型)を宣言し この場合、1とか2などの数値しか入りません。文字は格納できないのです。

しかし、PHPの変数は格納する値によって属性(データ型)が変わります

$val = 123;

の後に

$val = 'abc';

とおこなうとエラーとはならず、文字の ‘abc’ が最終的に格納されますこのように格納時に属性は変化するのです。

どのようなときに使うのか

そのため 「格納された値」と「データ型」までを含めた一致かどうかの判定を===は行うのです。ちなみに == と ===の例を示しますと

$val1 = 123; //整数で格納

$val2 = '123'; //文字として格納 の場合

var_dump ($val1 == $val2);

bool(true) と正(true) となります。

var_dump ($val1 === $val2);

bool(false) と偽(false) となります。

変数が自在に変化するPHPならではの比較方法なのですね

[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

php -a
php > $val1 = 123; //整数で格納
php > $val2 = '123'; //文字として格納
php > $val3 = '123abc'; //先頭整数文字も格納
php > var_dump ($val1 == $val2);
bool(true)
php > var_dump ($val1 === $val2);
bool(false)
php > var_dump ($val1 == $val3);
bool(true)
php >

このようになります。 ‘123abc’ も先頭の数値のみを == では比較できる点もPHPならではですね

筆者プロフィール

須田博(すだひろし)

SEキャリアは38年、開発言語はアセンブラから始めて50以上と多彩だがC言語は私の基本言語であり、 開発実績は500システム以上JavaとPHPは世に出る前から開発しております。大手企業様が多いが製品開発もあり。言語は大工の道具のようなものであり、使う人の技量によって適材適所に使っていくものというスタンスでやってきました。現在はフリーランスで山口県に住んでおります。

趣味は「車改造」と「バドミントン」と「アニメ」と「ネコのわかちゃんと遊ぶこと」です。TechAcademy ではJava,PHP/Laravel,初めてのプログラミングコースを担当しております

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

TechAcademyでは、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

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