ホームページ  >  記事  >  バックエンド開発  >  PHP は Global を使用してグローバル変数の使用方法を定義します

PHP は Global を使用してグローバル変数の使用方法を定義します

怪我咯
怪我咯オリジナル
2017-06-19 14:34:241416ブラウズ

Global は PHP の特別なコマンドです。皆さんはそれをスーパーグローバル変数と呼んでいます。今日は Global を使用してグローバル学習ノートを定義していることを紹介します

私は PHP の関数変数と変数スコープに慣れていません。グローバルな世界は完全に隔離されており、相互にアクセスすることはできません。
例:

コードは次のとおりです:

$test = 123;
 abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
    echo($test);
}$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
    echo($test);
}


関数内の外部変数にアクセスしたい場合は、これを行う必要があります:

コードは次のとおりです:

$test = 123;
 abc(); //输出123
function abc(){
    global $test;
    echo($test);
}$test = 123;
abc(); //输出123
function abc(){
    global $test;
    echo($test);
}

しかし、次の場合はどうなるでしょうか。関数内でグローバル変数を定義しますか? 次のようにします:

コードは次のとおりです:

function abc(){
    global $test;
    $test = 123;
}
abc();
echo($test); //输出123function abc(){
 global $test;
 $test = 123;
}
abc();
echo($test);


//Output 123 このようにして、関数内で定義された変数に外部からアクセスできます
ユーザー内で custom function では、ローカル関数のスコープが「はじめに」になります。関数内で使用される変数は、デフォルトでローカル関数スコープに制限されます (include および require によってインポートされたファイル内の変数を含む)!
説明: Test_Global は A.php ファイルで定義されていますサードパーティ関数、これは関数は include を使用して $a のグローバル変数を B.php ファイルにインポートします。そのため、$a は Test_Global ローカル関数のスコープに限定されます。そのため、B.php ファイル内の $a のスコープは、代わりに Test_Global 内部にあります。 A.php 全体に影響を与える...
解決策:
1. ローカル関数を取り出します
//A.php ファイル

コードは次のとおりです:

<?php
function Test_Global()
{  
    Test();  
}  
include &#39;B.php&#39;;   //将include 从局部Test_Global函数中移出
$a = 0 ;
Test_Global();
echo $a;
?> 
//B.php 文件
<?php
function Test()
{
    global $a;
    $a =1;
}
?>


2. 優れたアクセサー

は次のとおりです:

//A.php 文件
<?php
include &#39;B.php&#39;; 
$a =0;
Set_Global($a);
echo $a;
?> 
//B.php 文件
<?php
function Set_Global(&$var)
{
    $var=1;
}
?>


以上がPHP は Global を使用してグローバル変数の使用方法を定義しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。