3.

PHPの変数

編集

変数とはデータを格納、参照するもの。

必要に応じで格納したデータを参照する。

格納したデータは値を代入することで書き換えることができる。

■変数の宣言

【構文】

$変数名;

【例】

$var;

■変数に値を代入

【構文】

$変数名 = 値;

【例】

$var = 1;

PHPの変数の特徴

  • 変数名は $ で始まる
  • 動的型付け — 型宣言不要。代入された値で型が決まる
  • 大文字小文字を区別$User$user は別)
  • 関数名は大文字小文字を区別しないのと対照的
  • 変数名の1文字目は英字またはアンダースコア。数字は不可

変数名の命名規則

OKNG
$user$1user(数字始まり)
$user_name$user-name(ハイフン不可)
$_private$user name(空白不可)
$userName(lowerCamelCase推奨)$@var(記号不可)

変数の型(自動判定される)

整数 (int)$n = 100;
浮動小数 (float)$pi = 3.14;
文字列 (string)$s = "Hello";
真偽値 (bool)$flag = true;
配列 (array)$arr = [1, 2, 3];
オブジェクト$obj = new User();
null$x = null;

変数のスコープ

  • グローバル変数: 関数の外で宣言。関数内では global 宣言が必要
  • ローカル変数: 関数の中で宣言。関数内のみ有効
  • 静的変数 (static): 関数呼び出し間で値を保持
  • スーパーグローバル変数: $_GET, $_POST, $_SESSION 等。どこからでも参照可

$count = 0;  // グローバル

function inc() {
    global $count;  // 関数内でグローバル参照
    $count++;
}

function counter() {
    static $n = 0; // 呼び出し間で保持
    $n++;
    return $n;
}

変数の文字列展開

$name = "Taro";

// ダブルクォート: 展開される
echo "Hello, $name";       // Hello, Taro
echo "Hello, {$name}san";  // 中括弧で範囲明示

// シングルクォート: 展開されない
echo 'Hello, $name';       // Hello, $name

参照渡し

$a = 1;
$b = &$a;   // $b は $a の参照
$b = 10;
echo $a;    // 10

注意点

  • 未定義変数の参照はNotice/Warningが出る(PHP 8では Warning)。isset() でチェック
  • $と変数名の間に空白を入れない($ var はエラー)
  • PHP 7以降の型宣言: 関数引数や戻り値に型を明示可(変数自体は動的型付けのまま)
  • strict_types: declare(strict_types=1); でより厳しい型チェック

関連

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. 基本事項
  2. HTMLへの埋め込み
  3. 変数
  4. 可変変数
  5. 定数
  6. データ型
  7. キャスト
  8. エスケープ文字
  9. 配列
  10. 演算子
  11. 代入の際の注意点
  12. 条件分岐
  13. 繰り返し処理
  14. クラスとインスタンス
  15. コンストラクタ
  16. 関数
  17. スーパーグローバル変数
  18. スコープ
  19. staticについて
  20. yieldについて
  21. ファイルのアップロード方法
  22. DB接続方法
  23. SQL実行方法
  24. カプセル化の具体例
  25. 継承の構文
  26. オーバーライド
  27. ポリモーフィズム(多様性)の具体例
  28. 抽象クラス・メソッドの構文と具体例
  29. GET通信
  30. try catchで全てのエラーを拾う方法