関連記事
if文とは?
この記事の動画版はこちら(画像クリックでYoutubeに飛びます)
if文とは?
結論から先に言うと
if文とは、プログラミングの書き方の1つで「もし、こういう場合は、この処理を行う」「そうでない場合は、この処理を行う」といったように、条件によって処理を分けたい時に使います。
こんな感じで、条件によって処理を分岐させるイメージですね。
そのため「条件分岐」と呼ばれます。
例えば、ネットショップのプログラムを作る際に、商品の在庫数が「1以上」だったら「カートに入れる」ボタンを表示し、そうでない場合(つまり在庫数が「0」だった場合)は、「在庫切れ」と表示する。
このような時に使います。
プログラミングでは、このように条件によって処理を切り分けることが多くあるため、if文はかなり頻繁に使うことになります。
if文の書き方
PHPでは、if文はこのように書きます。
ifの後の( )の中に「条件式」を書き、その条件がYesだった場合は{ }の中の処理が実行されます。
そうでない場合(つまり、条件がNoだった場合)は、elseの{ }の中の処理が実行されます。
先ほどの例の場合は、このような感じですね。
なお、分岐は2種類だけでなく、いくつでも追加することができます。
分岐条件を追加する場合は「elseif」を使います。
このように、条件を複数指定して、細かく分岐させることも可能です。
なお、if文は上から順番に判定され、どれかの条件にマッチするとそれ以降の条件判定は行われません。
条件式の書き方
条件式の部分は、結果が論理値(つまり「ture」か「false」)で返される式を指定できます。
例えば、
$stockが0より大きいかどうか?
$stockが0と等しいかどうか?
このように、結果がYesまたNoになる式が指定できます。
この辺りの記号の書き方は「比較演算子とは?」という記事で説明しているのでこちらも併せて学習してみてください。
なお、条件式は1つだけでなく、複数の式を組み合わせることもできます。
複数の式を組み合わせる場合は、式同士を「かつ」で繋ぐのか「または」で繋ぐのかを指定します。
例えば、$stockが0以上かつ5以下の場合といった形です。
「かつ」で繋ぐ場合は、式同士を「and」で繋ぎます。
こうすると、両方の条件にマッチした場合にだけ処理が実行されます。
「または」で繋ぐ場合は、式同士を「or」で繋ぎます。
こうすると、いずれかの条件にマッチした場合に処理が実行されます。
ちなみに、この「and」や「or」のことを「論理演算子」といいます。
また、値同士の比較だけでなく、結果がtrue/falseで返ってくる関数なども条件式として指定可能です。
ただしこの場合、条件判定される際にこの関数は実行されますので注意しましょう。
波括弧を使わない書き方
PHPでは、{}を使わずにこのように書くこともできます。
if/elseif/elseは末尾にはコロンを書き、再度にendif;と書きます。
これは、HTMLの中にPHPを差し込んで条件分岐を行う場合に便利な書き方です。
HTMLの中で、このような閉じ括弧が急に出てくると、何の閉じ括弧なのかが分かりづらいですが
このような、波括弧を使わない書き方ならHTMLの中に紛れ込んでも、それが何の処理なのか分かりやすいですね。
これもよく使う方法なので覚えておきましょう!
まとめ
・if文は、条件によって処理を分岐させたい時に使う
・if/elseif/elseを使って処理を複数に分岐させることができる
・条件式には結果が論理値となる比較式や関数が指定できる
・複数の式を繋ぐ場合は、論理演算子(and/or)で繋ぐ
・{ }を使わずに書くこともできる