「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
MTでPerlを学ぶ(その6・ifによる条件判断2)
またまた前回からかなり間が空いてしまいましたが、「MTでPerlを学ぶ」の第6回です。
今回は、if文を使った一般的な条件判断についてお話しします。
1.if文の一般的な形
プログラムの中で条件判断を行う場合、条件が複数あって、それぞれで行う処理が異なる、というのが一般的な形です。
流れ図で表わすと、以下のような場合です。
このような流れをif文で表すと、以下のようになります。
if (条件1) { 条件1が成立したときの処理 } elsif (条件2) { 条件2が成立したときの処理 } ・・・ elsif (条件n) { 条件nが成立したときの処理 } else { すべての条件が成立していなかったときの処理 }
ちなみに、他のプログラム言語では、条件を次々と指定する際に、「else if」のように書くことが多いです。
Perlの「elsif」は他の言語と異なります。
そのため、他の言語でもプログラミングをしていると、よく文法がごちゃまぜになってしまい、文法エラーを起こしやすいので、注意が必要です。
2.if文を使った例
上記のようなif文を使った例として、「現在の時間帯に応じて、異なるメッセージを出力する」という例を考えてみます。
以下の表のようにメッセージを出力するものとします。
時間帯 | メッセージ |
---|---|
0時~6時 | お疲れ様です |
6時~12時 | おはようございます |
12時~18時 | こんにちは |
18時~24時 | こんばんは |
この処理の流れを考えてみると、以下の図のようになります。
この図に沿って、実際にプログラムを書いてみると、以下のようになります。
4行目以降のif文で、変数$hourの値に応じて、「お疲れ様です」等のメッセージを出力しています。
なお、1行目の文は、「localtime」というPerlの組み込み関数を使って、現在の日付と時刻を得る処理です。
また、2行目は、現在の日付と時刻から、「時」の部分を取り出して、変数$hourに代入する処理です。
my @t = localtime; my $hour = $t[2]; if ($hour < 6) { print 'お疲れ様です' } elsif ($hour < 12) { print 'おはようございます' } elsif ($hour < 18) { print 'こんにちは' } else { print 'こんばんは' }