デスクの端に置いてある、あの電卓です。リアル電卓の四則演算やメモリーを使った計算をphpスクリプトで計算してみましょう。
電卓
phpスクリプトは「変数」を使ってプログラムを書いていきます。この「変数」は、電卓のメモリーに似ています。

簿記検定の必須アイテムね
少し大きめが使いやすいのよ。
四則演算
まず、足し算、引き算です。
電卓で、「1」「7」「+」「9」「-」「5」「=」とうつと、「21」と表示されます。
PHPで、これと同じ計算をするには、エディター欄に、次のように入力します。
<?php
echo 17 + 9 - 5;
Code language: PHP (php)
「実行ボタン」をクリックすると、出力欄に、結果が表示されます。
21
Code language: plaintext (plaintext)

次に掛け算です。
電卓で、「1」「9」「×」「0」「.」「1」「=」とうつと、「1.9」と表示されます。

パソコンのテンキーに「×
(かける)」がないよ?

PHPだけでなく、プログラミングの掛け算は「*
(アスタリスク)」を使うのよ。
PHPで、これと同じ計算をするには、エディター欄に、次のように入力します。
<?php
echo 19 * 0.1;
Code language: PHP (php)
「実行ボタン」をクリックすると、出力欄に、結果が表示されます。
1.9
Code language: plaintext (plaintext)

続いて割り算です。
電卓で、「1」「0」「÷」「3」「=」とうつと、「3.33333333333」と表示されます。

パソコンのテンキーに「÷
(割る)」がないよ?

PHPだけでなく、プログラミングの割り算は「/
(スラッシュ)」を使うのよ。
PHPで、これと同じ計算をするには、エディター欄に、次のように入力します。PHPでは割り算は「/(スラッシュ)」で計算します。
<?php
echo 10 / 3;
Code language: PHP (php)
「実行ボタン」をクリックすると、出力欄に、結果が表示されます。
3.3333333333333
Code language: plaintext (plaintext)

マイナス値はどうでしょうか。
マイナス値を計算するときは、数の前に「-」をつけます。電卓の「引き算のマイナス」と「マイナス値のマイナス」は違うボタンですが、PHPでは、同じマイナス記号を使います。
<?php
echo -2 * 3.1;
Code language: PHP (php)
「実行ボタン」をクリックすると、出力欄に、結果が表示されます。
-6.2
Code language: plaintext (plaintext)

「余り」は電卓にはない計算です。1 割る 2の余りは、1です。

2で割った余りが1なら奇数

2で割った余りが0なら偶数
PHPで、余りの計算をするには、エディター欄に、次のように入力します。PHPでは余りは「%(パーセント)」で計算します。
<?php
echo 1 % 2;
Code language: PHP (php)
「実行ボタン」をクリックすると、出力欄に、結果が表示されます。
1
Code language: plaintext (plaintext)

PHPは、学校で習う、カッコ付きの計算もできます。

アプリの電卓はカッコ付きの計算もできるよ

アプリの電卓、便利よね
<?php
echo (1 + 2) * (3 + 4);
Code language: PHP (php)
「実行ボタン」をクリックすると、出力欄に、結果が表示されます。
21
Code language: plaintext (plaintext)

リアル電卓のメモリー機能
phpスクリプトは「変数」を使ってプログラムを書いていきます。この「変数」は、電卓のメモリーに似ています。そこで、電卓のメモリー機能をみていきましょう。
リアル電卓にはカッコ付きの計算がない代わりに、メモリー機能があります。
「M+」を押すと、メモリー値に計算結果を足し算します。
「M-」を押すと、メモリー値から計算結果を引き算します。
「MR」を押すと、メモリー値を呼びだします。(機種によっては「R・CM」ボタンの場合もあります。)
「MC」を押すと、メモリー値を0(ゼロ)にします。

「MC」はメモリークリアかな。
「MR」って、どういう意味?

「Memory Recall」メモリ呼び出しよ。
例えば、
100円のポテトチップスを2個
200円のおせんべいを3個
消費税10%
の合計金額は、リアル電卓では、次のように計算します。
計算 | 計算結果 | メモリー |
---|---|---|
100 × 2 「M+」 | 200 | 200 |
200 × 3 「M+」 | 600 | 800 |
「MR」× 10%「M+」 | 80 | 880 |
「MR」 | 880 |
PHPはカッコ付きの計算式で1回の計算できますが、途中の計算結果がわかりません。
<?php
echo ((100 * 2) + (200 * 3)) * 1.1;
Code language: PHP (php)
「実行ボタン」をクリックすると、出力欄に、結果が表示されます。
880
Code language: plaintext (plaintext)


電卓のメモリとPHPの変数をからめて説明したいみたいだけど、

電卓の「M+」や「M+」を知らないかもね...
そこで、PHPでもメモリを使って、各段階の計算結果を表示しながら、合計金額を計算してみましょう。
電卓の「M+」「M-」で操作するメモリは1個だけです。
電卓のメモリに相当するものを、PHPでは「変数」と呼びます。PHPの「変数」には名前をつけることができ、多くの変数を操作することができます。
PHPの変数の名前は、変数名といいます。変数名は「$a」「$b」「$x」のように、先頭にドルマークをつけて、アルファベットをつづけます。しばらくは、$a から $z の26個の変数だけを使うことにしましょう。

電卓はメモリ1個だけだったけど

変数$a から $z の26個を使うのね
電卓のメモリは合計金額に使っていました。phpスクリプトでは、合計金額用の変数を$mとして、値に0(ゼロ)を代入します。
<?php
$m = 0;
Code language: PHP (php)

なぜ $a ではなく、$m なの?

$a や $b でもいいんだけど、
電卓のメモリ(Memory)を意識して、$m にしたのよ
次に、100円のポテトチップス2個を計算します。この計算結果を、変数 $a に保存して、表示します。
合計金額用の変数$mに足します。
PHPの「=」は、等しいという意味ではなく、右側の計算結果を左側の変数に代入するという意味です。つまり「$m = $m + $a;」は、$m + $a の計算結果を $m に代入する、という意味です。

学校で習った方程式の「=」は、等しいだったかな

PHPの「=」は、等しいではなく、代入ね
// つづき
$a = 100 * 2;
echo $a;
$m = $m + $a;
Code language: PHP (php)
次に、200円のおせんべい3個を計算します。この計算結果を、変数 $b に保存して、表示します。
合計金額用の変数$mに足します。
// つづき
$b = 200 * 3;
echo $b;
$m = $m + $b;
Code language: PHP (php)
消費税10%を計算します。この計算結果を、変数 $c に保存して、表示します。
合計金額用の変数$mに足します。
// つづき
$c = $m * 0.1;
echo $c;
$m = $m + $c;
Code language: PHP (php)
最後に、合計金額用の変数$mを表示します。
// つづき
echo $m;
Code language: PHP (php)
全体のphpスクリプトです。
<?php
$m = 0;
$a = 100 * 2;
echo $a;
$m = $m + $a;
$b = 200 * 3;
echo $b;
$m = $m + $b;
$c = $m * 0.1;
echo $c;
$m = $m + $c;
echo $m;
Code language: PHP (php)
「実行ボタン」をクリックすると、出力欄に、結果が表示されます。
20060080880
Code language: plaintext (plaintext)

200と600、80、880がつながって表示されてしまいました。変数を表示した後に、改行しましょう。改行するには、echo "\n";
と書きます。PHPにはいくつかの特殊文字を表現する決まりがあり、"\n"
は改行という意味です。
<?php
$m = 0;
$a = 100 * 2;
echo $a;
echo "\n";
$m = $m + $a;
$b = 200 * 3;
echo $b;
echo "\n";
$m = $m + $b;
$c = $m * 0.1;
echo $c;
echo "\n";
$m = $m + $c;
echo $m;
echo "\n";
Code language: PHP (php)
200
600
80
880
Code language: plaintext (plaintext)

まとめ
リアル電卓の四則演算とメモリーを使った計算を、phpスクリプトで計算しました。
+ - * / %
足し算、引き算、かけ算、割り算、余り。$a
変数は、先頭ドルマーク、つづけてアルファベット。$a = 10 * 3;
イコール記号で、右側の計算結果を左側の変数に代入します。$a = $a + 3;
変数の値に何かしら計算をして、その変数に代入することができます。echo "n";
表示を改行します。