ホームページ  >  記事  >  バックエンド開発  >  PHP変数スコープの詳しい解説(1/3)_PHPチュートリアル

PHP変数スコープの詳しい解説(1/3)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:11:02891ブラウズ

変数のスコープは、変数が定義されているコンテキスト (つまり、変数が有効になるスコープ) です。ほとんどの PHP 変数にはスコープが 1 つだけあります。この単一スコープ スパンには、include および require によって導入されたファイルも含まれます。

例:

コードは次のとおりです コードをコピーします

$a = 1;
include 'b.inc';
?>

ここで変数 $a はインクルード ファイル b.inc で有効になります。ただし、ユーザー定義関数では、ローカル関数スコープが導入されます。関数内で使用される変数は、デフォルトではローカル関数のスコープに制限されます。例:

コードは次のとおりですコードをコピー
$a = 1; /* グローバルスコープ */

function Test()

{
echo $a; /* ローカル スコープ変数への参照 */
}

Test();

?>

echo ステートメントは変数 $a のローカル バージョンを参照しているため、このスクリプトには出力はありません。このスコープには値が割り当てられていません。 PHP のグローバル変数は C 言語とは少し異なることに気づくかもしれません。C 言語では、ローカル変数によってオーバーライドされない限り、グローバル変数は関数内で自動的に有効になります。これにより問題が発生する可能性があり、誰かが誤ってグローバル変数を変更してしまう可能性があります。 PHP のグローバル変数を関数で使用する場合は、グローバル変数を宣言する必要があります。关グローバル キーワード

まず、グローバルの使用例:


例 #1 グローバル

を使用します

コードは次のようになります コードをコピーします { global $a, $b; を置き換えます
& & & & & & & & & & & & & & & & & & = 2; function Sum()
$b = $a + $b;

}

Sum();

echo $b;

?>


上記のスクリプトの出力は「3」になります。グローバル変数 $a と $b は関数内で宣言されており、任意の変数のすべての参照変数はグローバル変数を指します。 PHP では、関数が宣言できるグローバル変数の最大数に制限はありません。

グローバル スコープ内の変数にアクセスする 2 番目の方法は、特別な PHP カスタム $GLOBALS 配列を使用することです。前の例は次のように記述できます:

例 #2 $GLOBALS を使用して global

コードは次のとおりです

コードをコピーします


$a = 1;{ $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];}
$b = 2;関数 Sum()

Sum();
echo $b ;
?>




1 2 3



http://www.bkjia.com/PHPjc/444672.htmlwww.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/444672.html

技術記事変数のスコープは、変数が定義されているコンテキスト (つまり、変数が有効になるスコープ) です。ほとんどの PHP 変数にはスコープが 1 つだけあります。この単一範囲スパンには、以下も含まれます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。