「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
MTでPerlを学ぶ(その5・ifによる条件判断)
前回から1か月以上間があいてしまいましたが、「MTでPerlを学ぶ」の第5回です。
Perlをはじめ、プログラムの中では、「条件によって処理を分ける」ことが頻繁に出てきます。
Perlでは、条件判断は「if」という命令で行います。
1.条件判断の基本
以下のような例があるとします。
ある施設の入場料金は、12才未満が500円、それ以外は1,000円です。
この入場料金を求めるプログラムを、Perlで作ることを考えます。
例えば、変数$ageに年齢が入っているものとして、変数$feeに料金を求めるようにするものとします。
この問題では、「年齢が12才未満かどうか」によって入場料金が変わります。
この「年齢が12才未満かどうか」というのが、条件にあたります。
変数$ageに年齢が入っているなら、「$ageの値が12未満かどうか」という条件を判断します。
2.条件判断とif文
条件を判断してプログラムの流れを変えるには、「if」という命令を使います。
以下の図のように、条件が成り立つかどうかで、行う処理を変えたいとします。
この図をif文で書き表すと、以下のようになります。
if (条件) { 条件が成立したときの処理 } else { 条件が成立しなかったときの処理 }
「条件」の書き方はいくつかありますが、2つの値を比較する書き方をよく使います。
Perlでは、2つの値を数値として比較する場合と、文字として比較する場合で、書き方が異なります(以下の表の通り)。
条件 | 数値として比較する場合の 条件の書き方 | 文字として比較する場合の 条件の書き方 |
---|---|---|
AとBが等しい | A == B | A eq B |
AとBが異なる | A != B | A ne B |
AがBより大きい | A > B | A gt B |
AがBより小さい | A < B | A lt B |
AがB以上 | A >= B | A ge B |
AがB以下 | A <= B | A le B |
3.if文を使った例
ここまでの話に基づいて、最初にあげた「ある施設の料金を求める」という例を作ってみます。
変数$ageに年齢が入っているものとして、変数$feeに料金を求めには、以下のように書きます。
if ($age < 12) { $fee = 500; } else { $fee = 1000; }
1行目のif文で、変数$ageの値が12未満(12より小さい)かどうかを判断します。
この条件が満たされている場合は、2行目に進みますので、変数$feeに500が代入されます。
一方、条件が満たされていない場合($ageの値が12以上の場合)は、4行目のelse以降に進みます。
そして、5行目の文によって、変数$feeに1000が代入されます。
なお、ifやelseの後の「{」と「}」のブロックは、字下げ(インデント)して書くことが一般的です。