PHP入門というシリーズ – 第四回

2018年5月18日

このシリーズも四回目になりました。ここまでお付き合い頂きありがとうございます。でもまだ続きます。。。

前回、条件分岐についてお話しましたが今回はちょっと座学的な意味合いが強いので、書くというより読んで覚える感じです。

条件指定する時に使う比較演算子

早速ちょっと小難しい感じになってしまって申し訳ないのですが、比較演算子っていうキーワードを使うと頭いい感じに見られると思うので、今日から使いましょう。日常会話で使う機会がないのが玉に瑕です。

等しいという意味の演算子

まずはAとBが等しいという意味の演算子です。条件分岐と組み合わせるなら、AとBが等しい場合に実行するというものですね。

===という具合に=を3つ繋げて書く

等しい時は===です。つまり、A === Bとなるわけです。イコール2つの書き方もありますが、とりあえず3つ書いておけばOKです。2つの意味は以下に。

==の場合もある

==も等しいという意味になりますが、ここではデータの「型」という考え方が出て来ます。例えば数値としての「1」と文字列としての「1」は違うという考え方です。===の場合、この「型」も一致しているかチェックされますが、==だと型は関係なく「1」は「1」として見ます。

等しくないという意味の演算子

AとBが等しくないという意味の時に使う演算子です。

!=と書くと等しくないという意味になる

以前の記事でも書いた!マークが出て来ます。等しくない、否定の意味で使います。

これも!=と!==という2通りの書き方がありますが、型も比較するかどうかの違いです。!==にすると型も比較します。

より大きいより小さい・以上以下

AよりBが大きい場合、とかAがB以下の時という場合に使う演算子です。

><

急に顔文字書いたわけではありません。算数と同じで、AよりBが大きいというときには「A > B」と書き、その逆なら「A < B」と書きます。

以上以下の場合≧や≦は使えない

算数と同じと言ったくせに、≧とは書けません。AがB以上という時は「A >= B」という具合に書きます。下の=が横に並ぶイメージですね。逆の場合は「A <= B」となります。イコールは不等号の右側に来ます。

三項演算子

ちょっと難解なものの一つに三項演算子というのがあります。これは条件式の真偽で違う式の結果を返すというものです。条件分岐(if文)と同じようなイメージです。

(条件式) ? (真式) : (偽式);

書き方は見出しの通り「(条件式) ? (真式) : (偽式);」です。儀式ではなく偽式です。間違いではありません。

最初に条件を記述し、前者が真の時、後者が偽の時という書き方はExcelに似ていますね。ちょっと例文を書いてみます。

<?php
  $demoya = "デモヤノートは";
  $check = ($demoya === "イマイチ") ? "素敵なブログです" : "素敵なブログです";
  echo $demoya.$check;
?>

まず、変数$demoyaにデモヤノートはという文字を格納しておきます。

その後、変数$checkに条件式を格納します。ここでは、$demoyaがイマイチという文字列かどうか比較します。この例だと、結局どっちにしろ強制的に「デモヤノートは素敵なブログです」と返って来ます。だって素敵なブログですものね。

この例だとあまりにもわかりづらいと思うので、もう1つちゃんと感情抜きで書きますね。

<?php
  $num = 100;
  $str = ($num % 5 === 0) ? "5の倍数です" : "5の倍数ではありません";
  echo $num."は".$str;
?>

この例では、変数$numに100を格納しました。次の行で$strに条件式を格納しています。条件式は$numを5で割った時の余りを求め(例文中の%記号がそれです。剰余演算といい、割り算の余りを返す時に使います。)それが0になるかどうかチェックしています。そして、0であれば5の倍数ですと返って来るわけです。

ちょっとわかりづらいですが、とても便利な式なので頑張って覚えましょう。

第五回へ続く。。。