PHPにおける「変数」と「定数」は、プログラム内でデータを管理し、操作するための重要な要素です。PHPは動的型付けの言語であるため、変数を使用する際に型を明示的に指定する必要はありません。一方、定数はその値が変更されることなく一定であるため、特定のデータをプログラム内で保持するために利用されます。この完全かつ包括的な記事では、PHPにおける変数と定数の詳細な違い、使用方法、そしてそれらがどのように役立つかについて説明します。
変数(Variable)
変数は、プログラム内でデータを格納するためのラベルとして機能します。PHPの変数は「$」記号で始まり、その後に名前を続けます。変数には、数値、文字列、配列、オブジェクトなど、さまざまな型のデータを格納できます。

変数の基本的な使用方法
変数を定義するには、単に「$」記号と変数名を使って代入します。例えば、次のように記述します。
php$age = 25; // 数値
$name = "John"; // 文字列
$is_student = true; // 真偽値
上記の例では、$age
には整数型の25が、$name
には文字列型の「John」が、$is_student
には真偽値型のtrue
が代入されています。
変数のスコープ
PHPでは、変数にはスコープ(有効範囲)があります。変数は定義された場所によって、そのスコープが決まります。主に次の3つのスコープがあります。
-
グローバルスコープ: プログラム全体で使用できる変数。関数外で定義された変数はグローバル変数です。
php$globalVar = "Hello, World!"; // グローバル変数 function printGlobal() { echo $globalVar; // 直接使用はできない }
-
ローカルスコープ: 関数内で定義された変数は、関数の外からはアクセスできません。
phpfunction myFunction() { $localVar = "Local Variable"; echo $localVar; } // myFunction()内では$localVarを使用できるが、関数外では使用不可
-
スーパーグローバルスコープ: PHPには自動的に利用可能なスーパーグローバル変数がいくつかあり、例えば
$_POST
や$_GET
、$_SESSION
などです。
変数のデータ型
PHPでは、変数には様々なデータ型を格納できます。主なデータ型は次の通りです。
-
整数型(int): 整数値を格納
php$age = 30;
-
浮動小数点型(float): 小数点を含む数値
php$price = 19.99;
-
文字列型(string): 文字列を格納
php$greeting = "こんにちは";
-
配列型(array): 複数の値を格納できる
php$fruits = ["apple", "banana", "orange"];
-
真偽値型(boolean):
true
またはfalse
php$is_active = true;
-
NULL型: 値が設定されていない、または「空」であることを示す
php$data = NULL;
定数(Constant)
定数は一度定義すると、その後変更することができません。定数は「define()」関数を使用して定義します。定数の名前は通常、大文字で記述されることが多いです。
定数の定義と使用方法
phpdefine("PI", 3.14159);
echo PI; // 出力: 3.14159
上記の例では、PI
という定数に値「3.14159」を設定し、その値を表示しています。定義された定数は変更できないため、プログラム内で一貫性を保つために有効です。
組み込み定数
PHPには多くの組み込み定数が存在します。例えば、PHP_VERSION
は現在のPHPのバージョンを返します。
phpecho PHP_VERSION; // 現在のPHPバージョンが表示される
変数と定数の違い
変数と定数は似ているようで異なります。以下の点が主な違いです。
-
変更可能性: 変数は後から値を変更できますが、定数は一度設定すると変更できません。
-
スコープ: 変数にはスコープがありますが、定数はグローバルスコープで常にアクセス可能です。
-
定義方法: 変数は
$
記号で定義し、定数はdefine()
関数で定義します。
定数のグローバルスコープと静的定数
PHPでは、クラス内でも定数を定義できます。クラス内で定義された定数は、クラス外からでもアクセス可能です。
phpclass Math {
const PI = 3.14159;
}
echo Math::PI; // 出力: 3.14159
このように、定数はクラス内でも使用でき、const
キーワードを使って定義します。
まとめ
PHPの変数と定数は、それぞれプログラム内で異なる役割を果たします。変数は動的にデータを操作するために使用され、定数は変更できない値を保持するために使用されます。変数のスコープやデータ型を適切に管理することで、より効率的でメンテナンスしやすいコードを作成できます。また、定数はプログラム内で一定の値を一貫して使用する際に非常に有用です。PHPを学ぶ際には、これらの概念を深く理解し、適切に使用することが重要です。