phpのelseを使ってif文の条件分岐のやり方を解説!

こんにちは。先日ヘッドホンを買い換えて少し浮かれているひろです。

phpを使ってweb開発をする際に必ず出てくるif文を使った条件分岐ですが、if文は難しいですよね。

if文ってどうやって扱うんだろう?
ちょっと複雑なif文を使いたいんだけど、どうやって使えばいいのかわからない……。

こんな悩みは初心者であれば誰もが通った道だと思います。

そこで今回は、このif文の使い方についてわかりやすく説明します!是非参考にしてみてくださいね。

if文は条件式と処理の2つのパーツで構成される

以下のコードを見てください。

これが基本的なif文の書き方です。詳しく解説していきます。

条件式はtrueかfalseを判定する

先程の式の、

が条件式です。

この条件式というのは、「与えられた条件に対し、その通りかどうかを判別する」文で、trueかfalseで判定できる式である必要があります。

この例の条件式を日本語に訳すと、「$numberは10ですか?」となり、実際に$numberは10なので、この条件式はtrueとなります。

処理は条件式の結果によって行うかどうかが決定される

先程の式の、

という部分が処理の部分になります。

この処理は条件式がtrueとなった場合にのみ処理されます。今回の場合は条件式がtrueなのでこの処理が実行されます。もしも条件式がfalseの場合はこの処理は実行されません。

条件式の条件は複数設定できる

条件式の中身は、実は「〇〇かつ△△のとき」、つまり両方の条件を満たしたときにtrueとなる場合だったり、「〇〇または△△のとき」、つまりどちらか片方の条件を満たしたときにtrueとなる場合など、条件式は複数設定することが可能です。

ここで使われている「&&」は「かつ」、「||」は「または」という意味で使われています。

実際の例 倍数判定

では、実際にphpファイルを作成し動かしてみましょう。

以下の例では、$numberが5の倍数かどうかの判定をしています。判断する方法は、$numberを5で割ってみてあまりが0であればtrue、そうでなければfalseとなります。

今回の場合、10は5の倍数なので条件式はtrueとなり、処理である「’numberは5の倍数です’を出力します」という処理を実行します。

if文はelseを使うことで「そうでなければ」という条件を追加できる

条件に合わない場合の処理の追加はelseを使う

百聞は一見にしかずということで、早速以下の例を見てみます。

条件式で$numberが10かどうかを判定しています。この場合は10ではないので、条件式はfalseになります。なので、先程の場合であれば処理が行われないですが、今回はelse以下に処理を追加しています。elseというのは「そうでなければ次の処理をする」という意味です。

今回であれば、結果的に行われる処理は2つ目の処理である「’numberは10ではありません’を出力します」という処理を実行します。

今回の件では2つ目の処理を行いましたが、もし条件式の判定がtrueとなった場合、1つ目の処理のみ実行され、2つ目の処理は実行されません。

実際の例 2つの文字式の判別

こちらもぜひ実際に動かしてみてください。

今回は、2つの変数が同じかどうかの判定を行い、同じであればtrue、違うものであればfalseとなります。

今回の場合、$number1と$number2は違いますので、「’number1とnumber2は違います’を出力します」という処理が行われます。

elseifを追加することで「そうでなくて〜〜の場合」という条件を追加できる

条件自体の追加はelseifを使う

例を見ていきます。

今回の例のように、1つ目の条件式がfalseになった場合に再度新しい条件式で判定する、という場合にはelseifを使います。

今回の場合、まず1つ目の条件式は100より大きいかの判定ですが、$numberは70なのでfalseとなります。そうすると、その次の条件式に移り、$numberが50より大きいかの判定となり、この判定はtrueとなり、「’numberは100より小さいですが、50より大きいです’を出力します」という処理を行います。

実際の例 倍数判定

今回は、先程の倍数判定よりも難しい条件でif文を使ってみます。

条件は、以下のとおりです。

$numberは183とし、$numberに対して以下の条件でif文を用いて条件分岐をさせてください。

  • 3の倍数のときは「にゃー」と出力する
  • 7の倍数のときには「わん」と出力する
  • 3の倍数かつ7の倍数のときには「にゃーわん」と出力する
  • 3の倍数でも7の倍数でもないときは「ぶー」と出力する

今回は複雑な条件分岐になりました。みなさんはどのようにif文を作成しますか?

ヒントとしては、「かつ」を使うと楽に作れるかもしれません。

以下、実際の実装例です。みなさんもぜひ自分で手を動かしてみてくださいね。

今回の実装例はあくまで一例ですので、もしかしたら皆さんの考えた実装とは違うかもしれませんが、実際に動かしてみて問題がなければ、それも正解です。

まとめ

いかがでしたか?今回は、

if文でelseを使った条件分岐

について見て紹介しました。phpを扱う上で必ず使うことになるif文ですが、最初はとても難しく感じますよね。もしもif文で詰まったときには、この記事を是非参考にしてみてください。

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?