ホームページ > バックエンド開発 > PHPの問題 > PHPで変数をグローバル変数にする方法

PHPで変数をグローバル変数にする方法

silencement
リリース: 2023-02-24 22:26:01
オリジナル
2855 人が閲覧しました

PHPで変数をグローバル変数にする方法

変数は実際には、情報を保存するために使用するコンテナーと同等であることがわかっています。命名規則については、皆さん比較的よくご存じだと思いますので、ここでは詳しく説明しません。ここでは主に、PHP 変数の 2 つのスコープ、グローバル変数とローカル変数について説明します。

これら 2 つの変数スコープを見ると、global&static という 2 つの単語が誰でも頭に浮かぶと思います。はい、その 2 つの言葉です。

すべての関数の外で定義された変数にはグローバル スコープがあることがわかっています。関数に加えて、スクリプトのどの部分からもグローバル変数にアクセスできます。関数内のグローバル変数にアクセスするには、global キーワードを使用する必要があります。ただし、PHP 関数内で宣言された変数はローカル変数であり、関数内でのみアクセスできます。次に例を見てみましょう:

<?php
$x=5; // 全局变量

function myTest()
{
    $y=10; // 局部变量
    echo "<p>测试函数内变量:<p>";
    echo "变量 x 为: $x";
    echo "<br>";
    echo "变量 y 为: $y";
}

myTest();

echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
?>
ログイン後にコピー

上の例では、myTest() 関数は $x 変数と $y 変数を定義します。 $x 変数は関数の外部で宣言されているためグローバル変数であり、$y 変数は関数の内部で宣言されているためローカル変数です。

myTest() 関数を呼び出して 2 つの変数の値を出力すると、関数はローカル変数 $y の値を出力しますが、$x の値は出力できません。 $x 変数は関数の外部で定義されており、関数内で使用することはできません。関数内のグローバル変数にアクセスしたい場合は、global キーワードを使用する必要があります。

次に、myTest() 関数の外側に 2 つの変数の値を出力します。関数はすべてのローカル変数 $x の値を出力しますが、$y の値は出力できません。 $y 変数は関数内で定義されており、ローカル変数です。

これから、異なる関数で同じ変数名を使用できることがわかります。これらの関数で定義された変数名はローカル変数であり、その関数内でのみ機能するためです。これはちょっとした裏技とも言えます。

早速、まずグローバル キーワードを見てみましょう。 global キーワードは、関数内のグローバル変数にアクセスするために使用されます。関数の外で定義されたグローバル変数を関数内で呼び出すには、関数内の変数の前に global キーワードを追加する必要があります。例を見てみましょう:

<?php
$x=5;
$y=10;
function myTest()
{
    global $x,$y;
    $y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
ログイン後にコピー

PHP はすべてのグローバル変数をファイルに保存します$GLOBALS[index] の配列内の名前。インデックスは変数の名前を保持します。この配列は関数内でアクセスすることも、グローバル変数を更新するために直接使用することもできます。したがって、上記の例は次のように書くことができます:

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

function myTest()
{
    $GLOBALS[&#39;y&#39;]=$GLOBALS[&#39;x&#39;]+$GLOBALS[&#39;y&#39;];
}

myTest();
echo $y;
?>
ログイン後にコピー

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

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