ホームページ > バックエンド開発 > PHPの問題 > PHPのメソッドで外部変数を使用する方法

PHPのメソッドで外部変数を使用する方法

青灯夜游
リリース: 2023-03-15 19:44:01
オリジナル
3655 人が閲覧しました

方法: 1. global キーワードを使用し、メソッド内で "global $external variable name;" ステートメントを使用して外部変数をインポートします。 2. "$GLOBALS" 変数を使用し、"$ GLOBALS[ 'a']" ステートメントは外部変数を参照できます。 3. 値転送を使用して外部変数をパラメータとして渡します。

PHPのメソッドで外部変数を使用する方法

このチュートリアルの動作環境: 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 &#39;$a = &#39;.$a;
    echo &#39;<br>$b = &#39;.$b;
    echo &#39;<br>$c = &#39;.$c;
}
demo();
?>
ログイン後にコピー

出力結果を見てください:

PHPのメソッドで外部変数を使用する方法

分析:

global キーワードの機能は次のとおりです: グローバル変数をインポートし、グローバル変数 1、変数 2、... を使用します。 グローバル変数 1、変数 2... を関数のローカル スコープにインポートすると、関数の外で定義されたグローバル変数を関数内で使用できます。

global キーワードを使用するときは、次の点に注意する必要があります:

  • global キーワードは関数の内部でのみ使用でき、関数の外部では使用できません。

  • ##global キーワードは関数外のグローバル変数を参照する場合にのみ使用でき、参照時に直接代入することはできません。代入文と宣言文は別々に記述する必要があります。

  • #関数内 global キーワードで変更された変数が内部で破棄されても、関数外の変数には影響しません。
2 番目の解決策: $GLOBALS スーパー グローバル変数を使用します

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo &#39;$a = &#39;.$GLOBALS[&#39;a&#39;];
    echo &#39;<br>$b = &#39;.$GLOBALS[&#39;b&#39;];
    echo &#39;<br>$c = &#39;.$GLOBALS[&#39;c&#39;];
}
demo();
?>
ログイン後にコピー
出力結果は次のとおりです:

PHPのメソッドで外部変数を使用する方法分析:

$GLOBALS

は事前定義された変数 (スーパー グローバル変数とも呼ばれます) であり、すべての変数を含むグローバルな組み合わせ配列です。変数の名前キーは、$GLOBALS['変数名'] という形式を使用して、指定したグローバル変数にアクセスできます。出現したグローバル変数であれば、$GLOBALS 配列を通じて取得できます。

global と $GLOBALS の違い

    global は関数内でのみ使用でき、関数外では使用できません。一方、$GLOBALS は関数内でのみ使用できます。プログラム内で使用 どこでも(関数内外)使用可能です。
  • global キーワードで変更された変数が関数内で破棄されても、関数の外部の変数は影響を受けません ($GLOBALS は影響を受けます)。
  • 理由:

    global キーワードを使用して $var 変数を変更する場合、これは関数の外側にある同じ名前の変数への参照であり、内側と外側は 2 つの変数です。相互に影響しません;

    そして、$GLOBALS['var'] は、変数である関数自体の外部変数を参照します。

  • #3 番目の解決策: 関数の外部変数をパラメータに渡す

<?php  
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$mytext="PHP中文网";

function chao_echo($mytext){
    echo $mytext;
}

chao_echo($mytext);
?>
ログイン後にコピー

推奨される学習: 「PHPのメソッドで外部変数を使用する方法PHP ビデオ チュートリアル

以上がPHPのメソッドで外部変数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート