スーパーグローバル: すべてのスコープで使用できる組み込みの変数 (定義済の変数) - PHPプロ!マニュアル

PHPマニュアル

スーパーグローバル: すべてのスコープで使用できる組み込みの変数

スーパーグローバル

スーパーグローバルすべてのスコープで使用できる組み込みの変数

説明

PHP の定義済み変数の中には "スーパーグローバル" というものがあります。 これは、スクリプト全体を通してすべてのスコープで使用可能な変数のことです。 関数やメソッドの内部からアクセスする際にも global $variable; などとする必要はありません。

スーパーグローバルには次のようなものがあります。

変更履歴

バージョン 説明
4.1.0 スーパーグローバルが PHP に導入されました。

注意

注意: 使用できる変数

デフォルトでは、すべてのスーパーグローバルが使用可能です。 ただし、それに影響を与える設定項目もあります。詳細は variables_order のドキュメントを参照ください。

注意: register_globals の扱い

非推奨の register_globals ディレクティブが on に設定されている場合は、 内部の変数もスクリプトのグローバルスコープで使用できるようになります。 たとえば $_POST['foo']$foo という名前でも使えるようになるということです。

関連情報については、FAQ の "register_globals の影響は?" を参照ください。

注意: 可変変数

スーパーグローバルは、関数やクラスメソッドの中の 可変変数 として使用することはできません。


PHPマニュアル



Pick Up Q&A

Q
PHPのHTML埋め込み記述について
 このエントリーをはてなブックマークに追加 
A
$_POST["data"] == "男" ? $val = "checked" : $val = "" ; の意味は以下と同じです。 if($_POST["data"] == "男"){ $val = "checked; } e...

>>続きを読む

kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)