70.PHP基本文法② ~条件式~
本日で基本文法編がひとまず終了のようです。
さっそくやっていきましょう。
条件式を使いこなす
条件式と言えば…。
そう、「IF」ですね。
もちろん、PHPでもif文はあります。
まずは書き方
if( 条件 ){
~実行される処理(※ただし、「条件」が「真」の時だけ実行)~
}
これが条件式の基本形です。
条件は等式や不等号を使って表します。
一致・不一致とか、以上・以下とか、~より小さい・~より大きいとか
こうした条件を「値」と「記号」で表現するわけです。
以下はAを基準とした条件の設定例です。
- 一致:A==B
- 不一致 : A!=B
- AがBより大きい : A > B
- AがB以上 : A >= B
- AがBより小さい : A < B
- AがB以下 : A <= B
以上です。
「大小」や「イコール」は視覚的にもわかりやすいですよね。
組み合わせる時、イコールは「後に書く」ことに注意です(!=,>=,<=)
具体例を見てみる
ひとまずコードから、
<?php
$price = 150;
if ($price == 150) {
echo "価格は150円です";
}
?>
1行ずつ見ていきましょう
$price = 150;
これは昨日やった変数。
price変数に150を代入しています。
if($price ==150){
ここが今回の条件式
条件は「$price変数の中身が「150」と一致」ですね。
なので、
「もし$priceの中身が150だったら」処理を実行します。
echo "価格は150円です";
処理の部分は、単純に文字列として「価格は150円です」を表示します。
条件分岐させるelse ifやelse
else ifとelseは
ifと合せて使うことで
条件が満たされなかった時に、違う条件と処理を指定したり、
条件が満たされなかった時に実行される処理を記述することもできます。
どうやって記述するかというと、
if(条件式){
~処理内容~
} else if(条件式){
~処理内容~
} else {
~処理内容~
}
このようにifの括弧のあとに続けて、書いていきます。
これらのif ~ else if ~ elseは1つのまとまりで、
上から順に条件が評価されて行き、
どこか1つの処理が実行されると、まとまりから抜けます。
わかりにくいので、具体例を
<?php
$price = 149;
if ($price >= 150) {
echo "価格は150円以上です";
} else if ($price >= 75){
echo "価格は75円以上150円未満です";
} else {
echo "価格は75円未満です";
}
?>
上記のコードで動きを確認します。
まず、$priceには149が入っています。
ifの条件は$price >= 150、$priceが150以上なら処理が実行されます。
今回は149なので、条件に合わず処理は実行されません。
そして次のelse ifの条件が評価されます。
else ifの条件は$price >= 75、$priceが75以上なら処理が実行されます。
$priceが149なので、条件に合致していますね。
なので、else ifブロックの処理が実行されて
価格は75円以上150円未満です
という文字列が表示されます。
そして、else ifのブロックの処理が実行されたので、
それ以降の評価はされずに終了します。
ちなみに$priceが151ならifの評価に合致して、処理が実行され
else ifやelseは評価されずに処理が終了します。
この動きは知っておいたほうが良いと思います。
今日のまとめ
- ifで条件を指定して、合致したときだけ処理するという記述ができる
- ifは上から順番に評価されていく
- どこかで条件合致し、処理が行われるとそのifのまとまりの処理は終了する
改めて、しっかり動きを確認しました。
ちなみに変数を文字列の中に埋め込むには
$word ="記述方法はこれ";
echo "埋め込む{$word}です";
このように書くそうです。
これもよく使いそうなので、覚えておきたいですね。
では、また。