PHPチュートリアル

PHPホーム PHPイントロ PHPインストール PHP構文 PHPコメント PHP変数 PHPエコー/印刷 PHPデータ型 PHP文字列 PHP番号 PHP数学 PHP定数 PHP演算子 PHP If ... Else ... Elseif PHPスイッチ PHPループ PHP関数 PHP配列 PHPスーパーグローバル PHP正規表現

PHPフォーム

PHPフォーム処理 PHPフォームの検証 PHPフォームが必要 PHPフォームのURL / Eメール PHPフォームの完了

PHP Advanced

PHPの日付と時刻 PHPインクルード PHPファイルの処理 PHPファイルのオープン/読み取り PHPファイルの作成/書き込み PHPファイルのアップロード PHPクッキー PHPセッション PHPフィルター PHPフィルターアドバンスト PHPコールバック関数 PHP JSON PHPの例外

PHPOOP _

PHPOOPとは PHPクラス/オブジェクト PHPコンストラクター PHPデストラクタ PHPアクセス修飾子 PHPの継承 PHP定数 PHP抽象クラス PHPインターフェース PHPの特性 PHP静的メソッド PHPの静的プロパティ PHP名前空間 PHPIterables

MySQLデータベース

MySQLデータベース MySQLコネクト MySQL Create DB MySQLテーブルの作成 MySQLの挿入データ MySQLは最後のIDを取得します MySQL Insert Multiple MySQLを準備しました MySQL Select Data MySQL Where MySQL Order By MySQLデータの削除 MySQLアップデートデータ MySQL制限データ

PHP XML

PHPXMLパーサー PHPSimpleXMLパーサー PHPSimpleXML-取得 PHP XMLExpat PHP XML DOM

PHP -AJAX

AJAXイントロ AJAX PHP AJAXデータベース AJAX XML AJAXライブ検索 AJAXポール

PHPの

PHPの例 PHPコンパイラ PHPクイズ PHP演習 PHP証明書

PHPリファレンス

PHPの概要 PHP配列 PHPカレンダー PHPの日付 PHPディレクトリ PHPエラー PHP例外 PHPファイルシステム PHPフィルター PHP FTP PHP JSON PHPキーワード PHP Libxml PHPメール PHP数学 PHPその他 PHP MySQLi PHPネットワーク PHP出力制御 PHP正規表現 PHP SimpleXML PHPストリーム PHP文字列 PHP変数の処理 PHPXMLパーサー PHP Zip PHPタイムゾーン

PHP変数のスコープ


PHP変数のスコープ

PHPでは、変数はスクリプト内のどこでも宣言できます。

変数のスコープは、変数を参照/使用できるスクリプトの一部です。

PHPには、3つの異なる変数スコープがあります。

  • ローカル
  • グローバル
  • 静的

グローバルおよびローカルスコープ

関数の外部で宣言された変数にはグローバルスコープがあり、関数の外部でのみアクセスできます。

グローバルスコープの変数:

<?php
$x = 5; // global scope

function myTest() {
  // using x inside this function will generate an error
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

echo "<p>Variable x outside function is: $x</p>";
?>

関数内で宣言された変数にはローカルスコープがあり、その関数内でのみアクセスできます。

ローカルスコープの変数:

<?php
function myTest() {
  $x = 5; // local scope
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>

ローカル変数は宣言された関数によってのみ認識されるため、異なる関数に同じ名前のローカル変数を含めることができます。


PHPグローバルキーワード

キーワードは、global関数内からグローバル変数にアクセスするために使用されます。

これを行うglobalには、変数の前(関数内)でキーワードを使用します。

<?php
$x = 5;
$y = 10;

function myTest() {
  global $x, $y;
  $y = $x + $y;
}

myTest();
echo $y; // outputs 15
?>

PHPは、すべてのグローバル変数を。という配列に格納します は変数の名前を保持しますこの配列は関数内からもアクセスでき、グローバル変数を直接更新するために使用できます。$GLOBALS[index]index

上記の例は、次のように書き直すことができます。

<?php
$x = 5;
$y = 10;

function myTest() {
  $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}

myTest();
echo $y; // outputs 15
?>

PHP静的キーワード

通常、関数が完了する/実行されると、その変数はすべて削除されます。ただし、ローカル変数を削除したくない場合があります。さらなる仕事のためにそれが必要です。

これを行うには、static最初に変数を宣言するときにキーワードを使用します。

<?php
function myTest() {
  static $x = 0;
  echo $x;
  $x++;
}

myTest();
myTest();
myTest();
?>

その後、関数が呼び出されるたびに、その変数には、関数が最後に呼び出されたときからの情報が含まれています。

注:変数はまだ関数に対してローカルです。


PHP演習

エクササイズで自分をテストする

エクササイズ:

名前の付いた変数を作成しtxt、値を割り当てます"Hello"

 = "";