方法: 1. global キーワードを使用し、メソッド内で "global $external variable name;" ステートメントを使用して外部変数をインポートします。 2. "$GLOBALS" 変数を使用し、"$ GLOBALS[ 'a']" ステートメントは外部変数を参照できます。 3. 値転送を使用して外部変数をパラメータとして渡します。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
今日はピュアネイティブを使用してプログラムを書きましたPHP メソッドで外部グローバル変数を呼び出したい場合、結果はエラーが報告されるか、それとも出力がありませんか?
その理由と解決策について話しましょう:
変数スコープ
ユーザー定義メソッド (関数) では、ローカル関数スコープが紹介されます。関数内で使用される変数は、デフォルトではローカル関数のスコープに制限されます。例:
<?php $a = 1; /* global scope */ function Test() { echo $a; /* reference to local scope variable */ } Test(); ?>
echo ステートメントは変数 $a のローカル バージョンを参照しており、このスコープ内の値が割り当てられていないため、このスクリプトは出力を生成しません。
PHP のグローバル変数は C 言語とは少し異なることに気づくかもしれませんが、C 言語では、ローカル変数によってオーバーライドされない限り、グローバル変数は関数内で自動的に有効になります。これにより問題が発生する可能性があり、誰かが誤ってグローバル変数を変更してしまう可能性があります。 PHP のグローバル変数を関数で使用する場合は、グローバル変数を宣言する必要があります。
最初の解決策: global キーワード---関数の外の変数を関数内でグローバルに宣言します
<?php $a = 1; $b = 2; $c = 3; function demo(){ global $a,$b,$c; echo '$a = '.$a; echo '<br>$b = '.$b; echo '<br>$c = '.$c; } demo(); ?>
出力結果を見てください:
分析:
global キーワードの機能は次のとおりです: グローバル変数をインポートし、グローバル変数 1、変数 2、...
を使用します。 グローバル変数 1、変数 2...
を関数のローカル スコープにインポートすると、関数の外で定義されたグローバル変数を関数内で使用できます。
global キーワードを使用するときは、次の点に注意する必要があります:
global キーワードは関数の内部でのみ使用でき、関数の外部では使用できません。
<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
echo '$a = '.$GLOBALS['a'];
echo '<br>$b = '.$GLOBALS['b'];
echo '<br>$c = '.$GLOBALS['c'];
}
demo();
?>
分析:
$GLOBALS は事前定義された変数 (スーパー グローバル変数とも呼ばれます) であり、すべての変数を含むグローバルな組み合わせ配列です。変数の名前キーは、$GLOBALS['変数名']
という形式を使用して、指定したグローバル変数にアクセスできます。出現したグローバル変数であれば、$GLOBALS
配列を通じて取得できます。
理由:
global キーワードを使用して $var 変数を変更する場合、これは関数の外側にある同じ名前の変数への参照であり、内側と外側は 2 つの変数です。相互に影響しません;
そして、$GLOBALS['var'] は、変数である関数自体の外部変数を参照します。
<?php header('content-type:text/html;charset=utf-8'); $mytext="PHP中文网"; function chao_echo($mytext){ echo $mytext; } chao_echo($mytext); ?>
推奨される学習: 「PHP ビデオ チュートリアル
」以上がPHPのメソッドで外部変数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。