第9章 条件で処理を変える

9.1 プログラム処理の流れについて

これまで学習してきた内容は、決められた処理を行うだけのプログラムでした。しかしプログラムは様々な状況に応じて処理を行うことが本来の目的になります。
状況に応じてプログラムの処理の流れを制御できる仕組みには、いくつかの手段がありますので順番に学んでいきましょう。

9.1.1 プログラムは制御構文の組み合わせ

これまでプログラムで様々な処理を行わせてきました。まだ処理の数は少ないですが、1つの機能でやりたいことが多くなってくるとプログラム側で処理する内容も当然増えていきます。しかし、どんなに大規模なプログラムでも、基本の処理を組み合わせたものに過ぎません。
一般に、プログラムは以下に示す3つの基本的な構造が組み合わせで成り立っています。

① 順次処理: 処理を上から順番(記述順)に実行していきます。
② 条件分岐処理: 条件の結果に応じて異なる処理が実行されます。
③ 繰り返し処理: 条件を満たす間、同じ処理を繰り返します。

それぞれの構造については、フローチャート(流れ図)で説明します。フローチャートは図記号を用いて、プログラム処理の流れを視覚的に表現したものです。


図 9.1.1: プログラムの基本構造

①はこれまでの学習で目にしてきた処理の流れになります。それに比べて②と③の処理は一直線でないことが図からも確認できます。
これまでの①順次処理に、②条件分岐処理③繰り返し処理の構造を加えて行くと、状況に応じて処理の流れを変化させることができるようになります。
Webアプリケーションならばアクセスした時間帯に応じて、画面に表示するメッセージ、背景などを変化させる処理を作成することができるようになります。①の一直線な構造だけでは、やりたいこと全てをプログラムするのはまず無理なので②と③を利用していく必要があります。

9.1.2 PHPの制御構文の種類

より具体的なプログラムの処理を作成していく上で、「条件分岐処理」と「繰り返し処理」が欠かせません。一言で制御構文と言っても、その中にも様々な用途に応じた処理(記述方法)が用意されています。

条件分岐処理

if文: 処理を条件分岐させる基本の制御構文
switch文: if文の記述を別の形で表現した条件分岐文

条件分岐処理

for文: 固定回数繰り返す
while文: 条件を満たす間繰り返す
foreach文: 配列データの数だけ繰り返す

上記で示した種類の制御構文を利用することで、様々な状況に応じた処理を行えるようになります。
「条件分岐処理」はこの後の節から、「繰り返し処理」は次章から本格的に学習していきますので、本節で示した制御構文には複数の種類があることを覚えておいてください。

9.1.3 制御構文と真偽値の関係

制御構文は「真偽値」を判断して処理の流れを変化させます。制御構文では条件を満たしていることを「真(しん):true」、条件を満たしていないことを「偽(ぎ):false」といいます。または、「正しいが真」、「間違っているが偽」に該当するともいえます。
言葉で説明されても何のことだかまだ分からないと思います。「真(true)」と「偽(false)」というものがどのようにプログラムで使われていくかは、これからの学習で徐々に説明を行います。今の段階では、真偽という概念が制御構文と密接な関係があることを覚えておいてください。
また真偽値は5章で学習した、論理型(boolean)の値(true/false)です。

ポイント
  • プログラムの処理の流れを変えるための制御構文がある。
  • 制御構文には「条件分岐処理」、「繰り返し処理」がある。
  • 制御構文と真偽値には密接な関係がある。

NEXT>> 9.2 条件に応じて処理を行う