PHPの基礎文法をおさらいする(定数・演算子・函数)
定数 スカラー値(integer, float, boolean, string)は 定数 として定義することができる。定数は任意のスカラー値の別名と考えることができる。あるいは、値を一度代入したらその値が変わることがない変数と見なすことができる。配列も定数にすることができるらしいが、奨励されていない。 定数を定義するにはdefine函数を用いる。ただしdefine函数を使った定数の定義はクラスの中では使えない。クラスの中ではconstキーワードを使って変数のように値を代入して定義する。 define函数は define(定数名, 任意のスカラー値); という書式で使う。指定する定数名やスカラー値が文字列の場合、シングルクォーテーションかダブルクォーテーションで挟む必要がある。改行を表す \n のようにエスケープしたい文字列がある場合にはダブルクォーテーションで挟む。定数名は変数名と違い、先頭に$を付けてはならず、大文字と小文字を区別しないことに注意。ただし、定数名は全て大文字にするのが分かりやすく、他の言語と同じくそれが慣例になっているようだ。自動的に定義される特殊な定数である マジック定数 は、定義済みの定数の一種で、二つの下線(__)の接頭辞と接尾辞が付く(例:__FILE__)。 次のスクリプトは消費税抜きの価格から消費税込みの価格を計算するもの。define函数を用いて消費税率を定数に置き換えている。 <?php // 消費税率を定数化 define('C_TAX',0.08); echo '税抜価格を入力してください(円):'; // 標準入力を実数型で受け取る $price = (real)(fgets(STDIN,1024)); // $priceが0より大きいなら if ($price > 0) { // 消費税込みの価格を計算して小数点以下を切り捨てる $price_tax = (int)($price * (C_TAX + 1)); // 計算結果を表示 echo "消費税込みの価格は{$price_tax}円です。",PHP_EOL; } // $priceが0より小さいなら else { echo '0より大きい数値を入力してください。',...