【On to PHP】比較演算子と真偽値ってなに?

こんにちは、さるまりんです。
On to PHP、続きを進めていきます。

前回は、if / else を見ました。

条件が true(正しい)か false(正しくない)か で、
処理の流れが変わる、という話でしたね。

今回は、

「比較演算子と真偽値ってなに?」

です。

条件はどうやって true / false になるの?

iffor の中には、こんな式がありました。

$age >= 18
$i < 3

これらは、

条件式 と呼ばれます。

そして、この式は必ず

  • true
  • false

のどちらかになります。

たとえば、

$age = 20;

なら、

$age >= 18

は true になります。

逆に、

$age = 15;

なら false になります。

比較演算子ってなに?

条件式の中で使われている記号を
比較演算子 といいます。

よく使うものを並べてみます。

  • == 等しい
  • === 型も含めて等しい
  • != 等しくない
  • > より大きい
  • < より小さい
  • >= 以上
  • <= 以下

たとえば、

10 > 3 // true
10 < 3 // false

のようになります。

== と === の違い

少しだけ大事な話です。

10 == "10"

これは true になります。

なぜなら、値としては「10」で同じだからです。

でも、

10 === "10"

false になります。

=== は、

  • 値が同じか
  • 型(データの種類)

も同じか を見ます。

「10」でも10は数値、"10"は文字列、この違いがありますね。

今は、

=== のほうが、より厳密

くらいに覚えておけば大丈夫です。

真偽値ってなに?

truefalse は、
真偽値(しんぎち) と呼ばれます。

PHP では、これもひとつのデータ型です。

$result = true;

のように、変数に入れることもできます。

実は「true / false になる値」は他にもある

少しだけ、先の話です。

PHP では、

  • 0
  • 空文字 ""
  • null

などは、
false として扱われます。

逆に、それ以外の値は
true として扱われます。

ここは今は

「そういうこともある」

くらいで大丈夫です。

条件が具体的になってきました

これで、

  • for がどこまで続くのか
  • if がどちらに進むのか

が、よりはっきりしてきました。

プログラムは、

  • 条件を評価して
  • truefalse を決めて
  • その結果で動きを変える

という流れで動いています。

この組み合わせで複雑なこともできるんです。

「攻撃力が敵よりも大きい」→「勝利」
こんなシンプルだとゲームはちょっと面白くないと思うので、いろんな要素を組み合わせて現実的なものを作ります。

次は、
条件が増えたときの書き方を見ていきましょう。

それでは、また!