基礎

PHPの変数入門|宣言・代入・命名ルール

変数は、データを一時的に保存するための「箱」です。PHPでは変数名の先頭に $(ドルマーク)を付けて宣言します。他の多くの言語と異なり、型の宣言は不要で、代入した値に応じて自動的に型が決まります。

基本的な使い方

構文
$変数名 = 値;
PHP
<?php
// 文字列を代入
$name = "太郎";

// 数値を代入
$age = 25;

// 小数を代入
$height = 170.5;

// 真偽値を代入
$is_student = true;

echo $name . "さんは" . $age . "歳です。";
echo "<br>";
echo "身長: " . $height . "cm";
?>
実行結果
太郎さんは25歳です。
身長: 170.5cm

変数は宣言と同時に値を代入するのが一般的です。PHPでは変数を事前に宣言する必要がなく、初めて値を代入した時点で変数が作成されます。

変数の命名ルール

変数名にはルールがあります。これを守らないとエラーになります。

  • 変数名は $ で始める(必須)
  • 先頭文字は英字またはアンダースコア($1name は不可)
  • 英字・数字・アンダースコアのみ使用可能
  • 大文字と小文字は区別される$Name$name は別の変数)
PHP
<?php
// 正しい変数名
$user_name = "太郎";
$userName = "花子";      // キャメルケース
$_private = "秘密";      // アンダースコア始まり
$item2 = "商品";

// 間違った変数名(エラーになる)
// $2item = "NG";        // 数字始まりは不可
// $user-name = "NG";    // ハイフンは使えない
// $user name = "NG";    // スペースは使えない
?>
命名規約のベストプラクティス

PHPではスネークケース$user_name)とキャメルケース$userName)の両方が使われます。フレームワークの規約に従うのがベストですが、プロジェクト内で統一することが最も重要です。

変数の上書きと型の変化

PHPは動的型付け言語なので、同じ変数に異なる型の値を代入できます。

PHP
<?php
$value = 100;          // int型
echo gettype($value);  // integer
echo "<br>";

$value = "百";          // string型に変更
echo gettype($value);  // string
echo "<br>";

$value = 3.14;         // float型に変更
echo gettype($value);  // double
?>
実行結果
integer
string
double
意図しない型変換に注意

PHPは自動的に型変換(型キャスト)を行うため、"5" + 38 になります。この暗黙の型変換はバグの原因になりやすいため、===(厳密比較)を使う習慣をつけましょう。

変数の存在確認と削除

PHP
<?php
$name = "太郎";

// 変数が存在するか確認
var_dump(isset($name));    // bool(true)
var_dump(isset($unknown)); // bool(false)

// 変数を削除
unset($name);
var_dump(isset($name));    // bool(false)

// 空かどうかを確認
$empty_str = "";
var_dump(empty($empty_str)); // bool(true)
?>

まとめ

  • PHPの変数は $ で始め、型宣言は不要(動的型付け)
  • 変数名は英字・数字・アンダースコアのみで、大文字小文字は区別される
  • 同じ変数に異なる型の値を再代入できるが、意図しない型変換に注意
  • isset()で存在確認、unset()で削除、empty()で空チェック