ホームページ  >  記事  >  PHP5 および PHP7 におけるグローバル変数メカニズムの変更点は何ですか? (コードの実テスト)

PHP5 および PHP7 におけるグローバル変数メカニズムの変更点は何ですか? (コードの実テスト)

藏色散人
藏色散人オリジナル
2018-08-09 12:14:437043ブラウズ

PHP プログラマーにとって、PHP のバージョンが異なると一部の関数変数メカニズムが更新および改善されるため、異なるバージョンで同じ変数を使用すると異なる結果が得られ、混乱が生じることがよくあります。そこで、この記事では主に、PHP5 と PHP7 のバージョンで同じグローバル変数を使用したときに異なる結果が発生する理由について詳しく説明します。シンプルでわかりやすい例をあげましょう。

たとえば、exl.php の現在のページ操作コードは次のとおりです。

PHP5 および PHP7 におけるグローバル変数メカニズムの変更点は何ですか? (コードの実テスト)

ローカルの php5 バージョン環境で実行した場合の結果は、以下のスクリーンショットに示すように 5 です。

PHP5 および PHP7 におけるグローバル変数メカニズムの変更点は何ですか? (コードの実テスト)

次に、php7 バージョンの環境で実行します。以下のスクリーンショットに示すように、結果は 3 になります。

PHP5 および PHP7 におけるグローバル変数メカニズムの変更点は何ですか? (コードの実テスト)

演算結果が異なる理由は、実際には、最新の php7 バージョンでは、PHPglobal 変数処理メカニズムが変更されているためです。このバージョンでは、global キーワードは単純な変数のみを参照できるようになりました。したがって、ローカルの php5 バージョン環境で動作すると、$y の出力値は $x+$y=5 になります。このとき、global はグローバル変数を使用することと同等になります。 php7 環境では、$y の出力値は $y=3 になります。このとき、グローバル変数は単純変数 $y のみを直接参照できます。

それでは、上記のサンプルコードの説明を通じて、PHP のグローバル変数が異なるバージョンで動作すると異なる結果が生じる問題についてのこの記事が、関連する問題に遭遇したときに皆さんに役立つことを願っています。また、この記事を利用できることを願っています。バージョンの下で、php グローバルの使用法を理解できます。

【おすすめ関連記事】

グローバル変数が無効または間違っているのはなぜですか?

グローバルと$GLOBAL['']のいくつかの異なる理解

PHPソースコード分析におけるグローバルキーワード

phpのグローバルと$GLOBALS


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