今更ながらPHPのスコープを学んだ話

hayato fukushima
LIVE WITH CORD
Published in
2 min readMay 4, 2019

PHPでうまく行かないことがあったが、
どうもスコープの塩梅が良くないことがわかったので、記録する。

qiitaに良くまとまっていたから引用。
[PHP] スコープ

PHPにおいてスコープは3つあり。
すなわち、
・ローカルスコープ(関数内スコープ)
・グローバルスコープ
・スーパーグローバル

【ローカルスコープ(関数内スコープ)】

<?php
// ローカルスコープ(関数内スコープ)
function localScope() {
//
$hoge = ‘hoge’;
return $hoge;
}
// 関数呼び出し
localScope();

echo $hoge;
// >> PHP Notice: Undefined variable

【グローバルスコープ 】
<?php
function localScope() {
// ローカルスコープ
$hoge = ‘hoge’;
return $hoge;
}// グローバルスコープ
// クラスや関数やの外で定義している変数
$hoge = ‘hoge’;

【スーパーグローバル】
先頭に「$_」が付いている変数がこれに該当します。

  • $_POST
  • $_GET
  • $_FILES
  • etc.

--

--