1
0

【PHP】ローカル変数とグローバル変数

Posted at

ローカル変数とグローバル変数

PHPの変数にはローカル変数グローバル変数の2種類がある。
その2つの違いを解説していきたい。

ローカル変数

ローカル変数とは、決められた範囲内(ローカルスコープ)でしか扱えない変数のことを言う。

ローカル変数
<?php

function user() {
    $name = 'Qiita 太郎'; // ローカル変数
}

user();

echo $name; // エラー表示

?>

Undefined variable という警告が表示されてしまった。
なぜかというと、関数user()内で定義されている変数nameと、関数外で定義されている変数nameは全くの別物として扱われているためである。
関数user()内で定義されている変数nameのことをローカル変数と呼ぶ。

グローバル変数

グローバル変数とは、PHPのファイル全体(グローバルスコープ)で扱うことのできる変数のことを言う。
グローバル変数を定義し関数で使う際は、変数の前にglobalという宣言をしなければならない。また、関数の内部でグローバルとして宣言する必要がある。

グローバル変数
<?php

$name = 'Qitta 太郎' // グローバル変数

function user(){
    global $name;
    echo $name;
}

user(); // 'Qitta 太郎'が表示される

?>

警告が出ることなく、変数の値を表示することができる。

まとめ

グローバル変数とは、複数の関数から使用できる変数のことを言います(globalで宣言する)。 これに対して、ひとつの関数内でのみ使用できる変数のことをローカル変数といいます。 グローバル変数はどの関数のブロック内にも含まれない。 ローカル変数はある関数のブロック内で定義されます。

参照


著者: E.R (株式会社ウィズツーワン)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0