変数を使って計算をしよう

8.2 変数を使って計算をしよう

 プログラムにおいて、変数を使った計算ができることは大きなポイントです。それによって、いろいろと変化するデータに応じた処理を行うことができます。

8.2.1 変数を使って計算する仕組み

 変数を使った計算を行います。

凡例:変数を使って計算を行う

変数の値を利用して計算を行うプログラム

 変数に格納された値を使って計算を行い、その計算結果をWebブラウザに表示して確認してみましょう。

ソース・フォルダ:myproj_super_intro/ch08
ファイル名   :useVariavleCalc.php
アクセスURL   :http://localhost/myproj_super_intro/ch08/useVariavleCalc.php

➢ useVariavleCalc.php

<?php
	$num1 = 49;
	$num2 = 7;
	$ans = $num1 / $num2;		//$num1と$num2の値で割り算
?>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	</head>
	<body>
	<?php
		echo '$num1 = ' , $num1 , '、$num2 = ' , $num2 , '<br>';
		echo $num1 , ' / ' , $num2 , ' = ' , $ans , '<br>';
		$num2 = $num2 + 1;		//$num2の値に1を足した結果を$num2に再代入
		echo '$num2 + 1 = ' , $num2;
	?>
	</body>
</html>

実行結果

解説

 まず2、3行目では、計算で利用する変数を用意しています。

   2:$num1 = 49;
   3:$num2 = 7;

 続いて4行目で先ほど用意した変数の値を利用して割り算を行い、その結果を変数$ansに代入しています。
 変数の計算で重要なポイントは、変数の値を計算に使用しても変数の値がなくなったり影響を受けて変化したりしないことです。あくまでも変数の中の値を参照し、その数値をコピーして計算を行うという動作になります。

   4:$ans = $num1 / $num2;     //$num1と$num2の値で割り算

図 8.2.1 変数同士の計算結果を代入

 12行目の記述で、4行目の割り算で使用した変数の値が割り算の影響を受けていないことを確認するために画面に表示させています。実行結果を見ると、最初に設定した値「49」と「7」が正しく表示されていることがわかります。

   12:echo '$num1 = ' , $num1 , '、$num2 = ' , $num2 , '<br>';

 13行目では変数を使った計算結果$ansを画面に表示しています。こちらも「49 / 7」の正しい計算結果「7」が表示されていることが実行結果から確認できます。

   13:echo $num1 , ' / ' , $num2 , ' = ' , $ans , '<br>';

 14行目では$num2の値に1を足した結果を、同じ変数である$num2に代入し直しています。代入し直すという処理を行っているため、当然$num2の値は新しい計算結果の値に変更されます。

   14:$num2 = $num2 + 1;    //$num2の値に1を足した結果を$num2に再代入

 以下の図6.2.3で13行目の配列の要素を参照する処理イメージを例として示します。

図 8.2.2 計算に使用した変数に計算結果を代入

 15行目では変数$num2の値を画面に表示しています。「7 + 1」の計算結果「8」が$num2に代入されていることが確認できます。

   15:echo '$num2 + 1 = ' , $num2;

 うまくできたでしょうか?続いて配列変数を使った計算のプログラムも見てみましょう。

配列変数の値を利用して計算を行うプログラム

 配列変数に格納された値を使って計算を行い、その計算結果をWebブラウザに表示して確認してみましょう。

ソース・フォルダ:myproj_super_intro/ch08
ファイル名   :useArrayCalc.php
アクセスURL   :http://localhost/myproj_super_intro/ch08/useArrayCalc.php

➢ useArrayCalc.php

<?php
	//配列変数に3つの値を用意
	$nums = array(1,3,5);

	//配列の要素を3つ全て足す
	$ans = $nums[0] + $nums[1] + $nums[2];
?>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	</head>
	<body>
	<?php
		echo $nums[0] , ' + ' , $nums[1] , ' + ' , $nums[2] , ' = ' , $ans;
	?>
	</body>
</html>

実行結果

解説

 3行目では6章で利用したarray関数を使って、配列名$numsに3つデータを作成しています。

   3:$nums = array(1,3,5);

 6行目で配列$numsの各要素の値を利用して足し算を行い、その計算結果を変数$ansへ代入しています。配列変数の各要素も通常の変数と同じように、コピーした値を計算に利用しています。

   6:$ans = $nums[0] + $nums[1] + $nums[2];

図 8.2.3 変数同士の計算結果を代入

 14行目で配列変数の各要素を使った計算結果を画面に表示しています。実行結果からも分かるように配列の各要素と計算「1 + 3 + 5」の結果「9」が正しく表示されていることが確認できます。

   14: echo $nums[0] , ' + ' , $nums[1] , ' + ' , $nums[2] , ' = ' , $ans;

◉ポイント

・ プログラムでは、変数や配列変数を使って計算が行える。
・ 変数を計算に使う場合、値をコピーして使うのでもともとの変数の値に影響は出ない。

NEXT>> 8.3 本章のまとめ