PHP

PHP variables are named "containers of data" that temporarily store information, allowing you to manipulate and reuse it within your code.

変数 [variables]

変数の基本

 PHPの変数は、データを一時的に格納するために使用されます。変数を使用することで、値を保存、更新、操作することができます。PHPでは、変数名の前にドル記号($)を付けて宣言します。

PHP

$name = "太郎";
$age = 25;

変数名のルール

英字またはアンダースコアで開始
変数名は英字(A–Z、a–z)またはアンダースコア(_)で始める必要があります。
英数字とアンダースコアを使用
最初の文字以降は、英数字(A–Z、a–z、0–9)とアンダースコアを使用できます。
大文字・小文字を区別
$Variable と $variable は別の変数として扱われます。

無効な例

PHP

$9name = "エラー"; // 数字で開始するため無効

データ型

 PHPは動的型付け言語であり、変数のデータ型を明示的に指定する必要はありません。主なデータ型は以下の通りです。

整数型(integer)
正または負の整数。例:$number = 10;
浮動小数点数(float/double)
小数点を含む数値。例:$price = 19.99;
文字列型(string)
テキストデータ。例:$greeting = "こんにちは";
ブール型(boolean)
真(true)または偽(false)。例:$is_member = true;
配列型(array)
複数の値を保持するデータ構造。例:$colors = array("赤", "青", "緑");
オブジェクト型(object)
クラスのインスタンス。例:$date = new DateTime();
NULL
値が存在しないことを示す特別な値。例:$value = NULL;

変数のスコープ

 変数のスコープは、その変数がアクセス可能な範囲を示します。

ローカルスコープ
関数やメソッド内で宣言された変数は、その内部でのみアクセス可能。

PHP

function test() {
	$localVar = "ローカル";
}
グローバルスコープ
関数の外で宣言された変数は、スクリプト全体でアクセス可能。ただし、関数内で使用する場合は global キーワードが必要。

PHP

$globalVar = "グローバル";

function test() {
	global $globalVar;
	echo $globalVar;
}
スーパーグローバル変数
$_GET、$_POST、$_SESSION など、どこからでもアクセス可能な組み込み変数。

変数の変数

 変数の名前を動的に扱うことができます。

PHP

$a = "hello";
$$a = "world";

echo $a;     // 出力: hello
echo $$a;    // 出力: world
echo $hello; // 出力: world

型のキャストと型変換

 PHPでは、自動的に型変換が行われることがありますが、明示的に型をキャストすることも可能です。

PHP

$number = "10";
$intNumber = (int)$number; // 整数にキャスト

$floatNumber = (float)$number; // 浮動小数点数にキャスト

変数の検査

isset()
変数が設定されており、NULLでないかを確認します。

PHP

if (isset($var)) {
	// $var はセットされています
}
empty()
変数が空か("", 0, "0", NULL, FALSE, array())を確認します。

PHP

if (empty($var)) {
	// $var は空です
}
is_null()
変数がNULLかを確認します。

PHP

if (is_null($var)) {
	// $var は NULL です
}

変数の削除

 unset() 関数を使用して変数を削除できます。

PHP

$var = "データ";
unset($var);
// $var はもう存在しません

変数の変数を使用する際の注意

 変数の変数はコードの可読性を低下させる可能性があるため、使用には注意が必要です。可能であれば、配列やオブジェクトを使用してデータを管理することをお勧めします。

定数との違い

 変数は値を変更できますが、定数は一度定義すると値を変更できません。定数は define() 関数または const キーワードを使用して宣言します。

PHP

define("SITE_NAME", "私のサイト");
const VERSION = "1.0.0";