プログラミング PHP

【PHP】単価と個数から合計金額を計算する

入力した単価と個数に対して、合計金額を計算するスクリプトを作成します。

スクリプトの作成を通じて、演算子と変数について学びます。

演算子は計算を行うための記号です。
「+」は加算、「ー」は減算、「*」は乗算、「/」は除算を行う演算子です。
また変数を定義して、表示や計算に活用する方法について学びます。

単価と個数を入力する画面の作成

単価と個数を入力するフォーム画面を作成します。

以下のようなスクリプトで実現できるでしょう。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>PHP_Sample_Program</title>
</head>
<body>
  <form action="price-output.php" method="post">
    <span>単価:</span>    <input type="text" name="price">    <span>円</span>
    <span>×</span>
    <span>個数:</span>    <input type="text" name="kosuu">    <span>個</span>
    <input type="submit" value="計算">
  </form>
</body>
</html>

ブラウザで、localhost/price-input.php にリクエストしてみます。
正しく実行できた場合には、単価及び個数のテキストボックスと「計算」ボタンが表示されます。

このスクリプトは、以下のように2個のテキストボックスを<input> を使って配置します。

<input type="text" name="price">
<input type="text" name="kosuu">

単価と個数のname属性は、price と kosuu です。
よって、リクエストパラメータ名もそれぞれ「price」「kosuu」になります。

演算子を使って合計金額を計算する

作成した入力画面から、単価と個数を取得して、合計金額を表示するスクリプトを作成してみましょう。

以下のようなスクリプトで実現できるでしょう。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>PHP_Sample_Program</title>
</head>
<body>
  <?php
    echo $_REQUEST['price'], '円 × ';
    echo $_REQUEST['kosuu'], '個 = ';
    echo $_REQUEST['price']*$_REQUEST['kosuu'], '円';
  ?>
</body>
</html>

ブラウザで、localhost/price-input.php にリクエストしてみます。

例えば、単価欄に120、個数欄に5を入力して、「計算」ボタンをクリックします。

price-output.php のスクリプトが実行されて、上記のように結果が表示されます。

リクエストパラメータの取得と計算

単価と個数(を入力するテキストボックス)のリクエストパラメータ名は、「price」「kosuu」です。
これらのリクエストパラメータを取得するには、$_REQUEST を用いて以下のように記述します。

$_REQUEST['price']
$_REQUEST['kosuu']

このように記述することで、リクエストパラメータとして渡されたテキストボックスの値を、$_REQUEST を介して取得して、スクリプト内で利用することができます。

演算子

合計金額を求めるには、単価と個数を乗算(*)します。

スクリプト内で乗算や除算などの計算を行うには演算子を利用します。
計算などの処理を行うことを「演算する」といいます。演算子は、各種の演算を表す記号です。

乗算の演算子は「*」です。
「*」を用いて「単価*個数」のように記述します。

$_REQUEST['price'] * $_REQUEST['kosuu']

乗算の演算子は、通常の計算で使う「×」ではなく、「*」です。

変数を使って計算を行う

変数とは、値を格納するための仕組みです。
適切に変数を使用すると、スクリプトが簡潔になったり、理解しやすくなったり、複雑な計算を記述できるようになったり、といった効果があります。
変数を使って、書き直してみます。

<?php
    $price = $_REQUEST['price'];
    $kosuu = $_REQUEST['kosuu'];
    echo $price, '円×';
    echo $kosuu, '個=';
    echo $price*$kosuu, '円';
  ?>

表示される結果は同じです。

変数

変数を使うには、最初に変数に名前を付ける必要があります。
変数の名前のことを「変数名」といいます。変数名には、以下のような規則があります。

  • 変数名の前にはドル記号($)を付けます。
  • 1文字目は、英字またはアンダースコア( _ ) が使用できます。
  • 2文字目以降は、英字・数字・アンダースコアのいずれかが使えます。
  • 英字の大文字と小文字は区別されます。

$price , $price2 , $price_tag , $Price , $i , $j

$123price

PHPでは、あらかじめ定義されている変数があります。以下のようなものです。

$_REQUEST , $_GET , $_POST , $_FILES , $_SESSION , $_COOKIE

代入

代入とは、変数に値を格納することです。以下のように記述します。

変数 = 値

= を代入演算子といいます。
代入演算子を使うと、左辺の変数に、右辺の値が書き込まれます。

変数には数値や文字列などの値を代入することができます。
数値を代入した変数は、スクリプト内で数値の代わりとして扱うことができます。

文字列を代入すると、文字列の代わりとなります。

スクリプト内に記述した数値や文字列の値のことを「リテラル」といいます。

変数同士で代入を行うこともできます。

変数A = 変数B

この場合は、左辺の変数に、右辺の変数の値が書き込まれます。

$price = $_REQUEST['price'];

変数 $price に対して、$_REQUEST[’price’] の値(リクエストパラメータ price に格納されている値)を代入します。
$_REQUEST[’price’] が 120であれば、$price に 120が入ります。

以下、記事も併せて読んでいただけると幸いです。

-プログラミング, PHP