ホームページ > バックエンド開発 > PHPチュートリアル > グローバル変数 global について知っていること、疑問に思っていること

グローバル変数 global について知っていること、疑問に思っていること

WBOY
リリース: 2016-06-13 12:59:49
オリジナル
844 人が閲覧しました

グローバル変数 global についての理解と疑問について
PHP を始めたばかりで、global について疑問があったので、自分で試してみました。

function test()<br />
{<br />
	global $a;<br />
	$a=10;<br />
	global $b;<br />
    $b=$a+10;   <br />
}<br />
test();<br />
echo $a."<br>";<br />
echo $b."<br>";<br />
?>
ログイン後にコピー

そうですね、効果は非常に優れており、出力は確かに 10 20 です。
それから私はまたこれを書きました:
<?php<br />
function test()<br />
{<br />
    $a=10;<br />
    global $a;<br />
    $b=$a+10;<br />
    global $b;   <br />
}<br />
test();<br />
echo $a."<br>";<br />
echo $b."<br>";<br />
?>
ログイン後にコピー

今回は、エラーやプロンプトが表示されないのに、出力が空白になるのはなぜですか? グローバル変数が追加されているので、php ファイル全体を使用できるようにするため、次のテストを実行しました。

次に、変数が定義されていないことを示すプロンプトが表示されます。
global $c;<br />
$c=7;<br />
function test()<br />
{<br />
    echo $c;   <br />
}<br />
test();<br />
ログイン後にコピー
グローバル変数は定義されていても関数内では使用できないというのは本当ですか?関数に値を渡したい場合はパラメータを渡すしかないのでしょうか?

-----解決策--- --- ----------------
宣言が最初にあり、使用が最後にあります これは普遍的な原則です

global は、関数

でグローバル変数を宣言するために使用されます------解決策----------------------
最初に定義します変数 $a='aaa';
関数内
関数 test()
{
グローバル $a;
// $a を使用します;
}

------解決策---------
最初の例では、最初に定義します。変数を使用する場合は、グローバル変数を使用します。 2 番目の例では、最初にローカル変数を定義し、次にグローバル変数を定義します。ただし、値を割り当てるときはローカル変数を使用するため、先ほどの問題が発生します。

------解決策---------

<?php<br />
function test()<br />
{<br />
    $a=10;      // 这个是局部变量以下同样<br />
    global $a;  // 这里声明了全局变量,以后出现的$a就是全局变量$a了<br />
                   // 在函数中使用全局变量都需要这样先声明一下否则默认为局部变量<br />
    $b=$a+10;<br />
    global $b;   <br />
}
ログイン後にコピー

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