【基本の「き」】PHPのif文をマスターしてプログラミングの表現力を磨こう

「もし明日早起きできたら・・・」

条件分岐は、日常の中で無意識のうちに使っています。

僕たちの日常は、「もし〜だったら・・・」で溢れています。

それもそのはずで、僕たちは未来について考えるからです。

プログラミングも同じです。

  • 「もしエラーが起きたら・・・」
  • 「もし成功したら・・・」
  • 「もし○○と△△を比較して〜だったら・・・」

このようなときに処理を分けることができるのが、条件分岐、つまり、if文です。

PHPに限らず、プログラミングを学ぶ上で条件分岐は基本中の基本になります。

どんな大規模なwebサイトでも条件分岐は必ず使用されているので、「ここで覚える!」そんな感覚で勉強してみてください。

今日のブログは、

  • If文の使い方を教えて欲しい
  • If文の使い方をど忘れしてしまった
  • If文の演算子を簡単に把握しておきたい

こんな方におすすめのブログとなっています。

それでは、初めていきましょう。

if文を実際に書いてみよう

まずは、PHPにおけるif文がどのように表現されているかをみていきましょう。

とても簡単なプログラムなので、一緒に手を動かしながら進めていきましょう。

<?php
$i = 1;

if ($i == 1) {
  print('iには1が入っています');
};
?>

みなさんどうでしょうか?

とても簡単に表現できましたね。

今のプログラムを言語化すると、

iと呼ばれる変数の中に1が入っていたら、以下の条件を実行する

となります。

少し深堀りをすると、

  1. if文は、条件式の中身をtrue(真)、または、false(偽)で判断する
  2. ()の中身が条件式を表す
  3. {}の中身が実行するプログラムを表す

この3つが最低限抑えておくif文の特徴です。

もちろん()の中身がfalse、つまり条件を満たしていなかったら実行されません。

僕たち人間と同じ考えてプログラムも動いているんですね。

やっぱりプログラミングはとても素晴らしい技術です。

PHPは全ての値に真偽値がある

真偽値と聞くと「?」となる方もいらっしゃいますが、簡単に行ってしまうと、

trueかfalseの値を必ず持っているよ

ということです。

そのため、値単体でも条件分岐を成立させることができます。

しかし、falseを持っている値はそんなに多くないです。

主なものを下記で紹介しておきますので、是非参考にしてみてください。

また、その他のものは、PHPのリファレンスを確認しておきましょう。

falseを持っている値

1. 数字の0

<?php
if (0) {
  print('0はfalseのため実行されません');
}
?>

2. 空の文字列

<?php
if ('') {
  print("''はfalseのため実行されません");
}
?>

3. falseそのもの

<?php
if (false) {
  print("falseはfalseのため実行されません");
}
?>

全ての値に真偽値を持っているなんてすごいですよね。

普段僕たちが意識することがないため、馴れないと難しく感じますが、今後のコーディングで必ず活きてくるので、頭の片隅において下さいね。

else文を使って分岐を作ろう

先ほどまでは、条件が異なっていたらプログラムは終了していました。

今回は、条件が異なる際のプログラムをみていきましょう。

そこで役立つのが、else文です。

else文は、一つの条件がfalseになった時、違うプログラムを実行することができます。

「頭よりも手を動かせ!」

僕のプログラミングの学習でとても大切にしていることなので、早速書いていきましょう。

<?php
$i = 2;

if ($i == 1) {
  print('iには1が入っています');
} else {
  print('iには1が入っていません');
}
?>

とてもシンプルな構造です。

先ほど書いたif文に続けて、else{}を書くことで表現できます。

徐々に表現できることが増えてきましたね。

どんどんみていきましょう!

elseifを使って複数条件を書いてみよう

ここまでくると、「複数条件を書きたい時はどうするの?」そんな疑問が湧いてきます。

こうして少しずつ切り分けて考えると、難しい課題もなんとなく規則性が見えてくるものです。

根気強く続けていれば、必ずできるようになるのがプログラミングです。

一緒に頑張っていきましょうね。

<?php
$i = 2;

if ($i == 1) {
  print('iには1が入っています');
} elseif ($i == 2) {
  print('iには2が入っています');
} else {
  print('iにはその他の値が入っています');
};
?>

今度は、elseif文が出てきました。

elseif文はとても便利で、いくつもの条件を付け加えることができます。

使い方は、elseif (){}です。

if文の章で説明したことと同様で、()の中身が条件式{}の中身が実行プログラムです。

ここまででif文の説明は終わりです。

みなさんどうだったでしょうか?

if文を覚えると、まるで人間のようにプログラムを書くことができます。

何度も復習して、自分のものにしてみてください。

演算子を覚えよう

ここまで書いてきた条件式は、「等しかったら・・・」というものでした。

しかし、PHPには他にも条件式のバリエーションが存在します。

簡単にみていきましょう。

大きく分けると、比較演算子と論理演算子に分けられます。

1. 比較演算子

その名前の通り、比較することで、ture、または、falseを判断します。

主に使用するものは以下です。

その他のものは、PHPのリファレンスを参照ください。

・ 〜以下

<?php
$i = 2;

if ($i <= 3) {
  print('iは3以下です');
}
?>

・ 〜以上

<?php
$i = 4;

if ($i >= 3) {
  print('iは3以上です');
}
?>

論理演算子

言葉は難しいですが、簡単に行ってしまうと条件を繋ぎ合わせる時に使用する演算子になります。

※ PHPのリファレンス参照

・ 〜かつ〜

<?php
$i = 2;

if ($i >= 1 && $i <= 3) {
  print('iは1以上かつ3以下です');
}
?>

・ 〜または〜

<?php
$i = 3;

if ($i == 1 || $i == 3) {
  print('iは1または3です');
}
?>

演算子は数が多く、全てを紹介することができないので、割愛させていただきました。

無理して全てを覚えようとはせずに、表現したい条件がある時に適宜リファレンスを参照してみてくださいね。

まとめ

<?php
if (条件①) {
  プログラム
} elseif (条件②) {
  プログラム
} else {
  プログラム
}
?>
  • if文、else文、elseifは上記のように表現できる
  • PHPは全ての値に真偽値を持つ
  • 条件式を表現する時は演算子を用いる

今日はここまで。

少しボリュームが多いですが、if文ができるようになるとプログラムの表現がとても増えます。

復習をお忘れなく。

コメント

Comments are closed.