「独習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 | タブ |
¥$ | ドル記号 |
¥¥ | 円記号/バックスラッシュ |
¥" | ダブルクォーテーション |