独習PHP」を元に、要約メモしておきたいと思います。

変数は、その中身をプログラムの途中で変更/編集することが可能だが、定数は入れ物と中身がセットになっていて、途中で中身を変更できない入れ物。プログラム上、意味を持つ値にあらかじめ名前を付けておくしくみ。

 

<?php
define ('TAX', 1.05);
$price=1000;
$sum=$price*TAX;
print($sum);
?>

1050

defineは定数を設定するための命令で、ここでは定数TAXを1.05という値で設定している。あとからTAXの値を変更する場合にも便利。また、1.05という数値だけだと何の数値なのか分からない(マジックナンバー)ので、定数で名前付けしておけばデータの意味が視覚的にも明確になる。

定数の命令規則

  • 定数名の先頭には$使わない(×:$DATA、○:DATA)
  • 定数名の先頭は英字かアンダースコアであること(×:9A、○:A9)
  • 定数名の2文字目以降は、英数字、アンダースコアのいずれかであること(×:A9+、○:NAME)
  • 変数名の大文字/小文字は区別されない

変数と区別するために定数は大文字にするのが通例。

定義済みの定数

定数 概要
__FILE__ 実行中のファイル名
__LINE__ 実行中の行番号
__FUNCTION__ 実行中の関数名
__CLASS__ 実行中のクラス名
__METHOD__ 実行中のメソッド名
DIRECTORY_SEPARATOR ファイル区切り文字(Winは¥、Linuxは/)
RATH_SEPARATOR パス区切り文字(Winは;、Linuxは:)
PHP_VERSION 使用しているPHPのバージョン
NULL 未定義
TRUE
FALSE

DIRECTORY_SEPARATOR や RATH_SEPARATOR など、環境に依存する情報をハードコーディングする代わりに定数で記述しておくと、サーバ環境を移動した場合にもコードを変更する必要がない。

エスケープシーケンス

キーボードから直接表現できない特殊文字。シングルクォーテーションの中では記述されたものがそのまま解釈されるので、必ずダブルクォーテーションで囲まれていなければならない。

文字 概要
¥r 復帰
¥n 改行
¥t タブ
¥$ ドル記号
¥¥ 円記号/バックスラッシュ
¥" ダブルクォーテーション

こちらの関連記事もあわせてどうぞ!