これまでに、プログラム全体の流れ「入力 ⇒ 記憶 ⇒ 演算 ⇒ 記憶 ⇒ 出力」のうち、演算と出力を見てきましたが、ここでは記憶について見ていきます。記憶を司るものとしては、データベースやセッションなどの技術がありますが、ここでは変数について見ていきます。

変数というのは、ユーザーが入力した情報や演算結果を一時的に保持しておく入れ物のようなものです。プログラム関連の技術書では、よく箱に例えられます。

変数の意義

変数があると、どのような良い事があるのでしょうか? 以下の処理内容を変数を使わない場合と、使う場合とで考えてみましょう。

処理内容
100円の商品を3つ、200円の商品を5つ、500円の商品を2つ購入した。
合計金額を計算し、「小計はそれぞれ〇〇円、△△円、□□円、合計金額は●●●円です」と出力したい。

この処理を変数を使わずに記述すると、以下のようになります。

<?php
echo "小計はそれぞれ" . (100 * 3) . "円" . (200 * 5) . "円" . (500 * 2) 
     . "円、合計金額は" . (100 * 3 + 200 * 5 + 500 * 2) . "円です";

一方で、変数を使用すると以下のように書くことができます。

<?php
$subTotal1 = 100 * 3;
$subTotla2 = 200 * 5;
$subTotal3 = 500 * 2;
$total = $subTotal1 + $subTotal2 + $subTotal3;
$message1 = "小計はそれぞれ{$subTotal1}円、{$subTotal2}円、{$subTotal3}円、";
$message2 = "合計金額は{$total}円です";
echo $message1 . $message2;

変数を使わなければ、1つのステートメントで処理を記述できます。しかしながら、日本語の「小計金額は」や「合計金額は」という文字列がなければ、何をしているのかがわかりにくく、修正も大変です。例えば、商品の値段が変わった場合、小計の演算部分と合計の演算部分の2か所を修正する必要があります。

その一方、変数を使った場合、ステートメントの数は増えてしまいますが、何をしているのかがわかりやすく、修正も容易です。例えば、100円の商品が300円になった場合、2行目だけを修正すれば問題は解決します。

Last modified: 2021-06-20

Author