定数を代入する意味がわからない
定数について
本に記載がある内容では
定数とは、スクリプトの中で何らかの意味を持つ値にあらかじめ名前をつけておく仕組みであると言えます。
と書かれています。
const構文.php
const 定数名 = 値;
疑問内容(変数にする必要性はあるのか)
本を読んでいて思ったこと
「だからなに」「定数にする意味とは」
.php
<?php
$price = 1000;
$sum = $price * 1.08;
?>
上記の文章では消費税が変わるたびに、スクリプトのあちこちにある「1.08」を変更しなければ行けないので
定数として定義をして下記のようにするみたいです。
.php
<?php
const TAX = 1.08;
$price = 1000;
$sum = $price * TAX;
?>
ただ、普通に下記で良いんじゃね?とか思ってしまう。
.php
<?php
$tax = 1.08;
$price = 1000;
$sum = $price * $tax;
?>
メリット(調べた結果)
一回代入したら、再代入がされない。
下記のコードでテストしてみました。
.php
<?php
const TAX = 1.08;
$price = 1000;
$sum = $price * TAX;
print $sum."\n";
?>
<?php
const TAX = 1.05;
$price2 = 1000;
$sum2 = $price2 * TAX;
?>
=>出力は
1080
1080
ファイル内に一度でも定義されたら、何が何でも他の物を受け付けないみたいです。
⇨変数で書いた場合、同じ名前の変数で別の内容を書いてしまうとそれが影響してしまうため定数にすることでミスの予防になるみたいです。
参考サイト
RIGHTCODE様
とても参考になりました。