PHP プログラマーにとって、PHP のバージョンが異なると一部の関数変数メカニズムが更新および改善されるため、異なるバージョンで同じ変数を使用すると異なる結果が得られ、混乱が生じることがよくあります。そこで、この記事では主に、PHP5 と PHP7 のバージョンで同じグローバル変数を使用したときに異なる結果が発生する理由について詳しく説明します。シンプルでわかりやすい例をあげましょう。
たとえば、exl.php の現在のページ操作コードは次のとおりです。
ローカルの php5 バージョン環境で実行した場合の結果は、以下のスクリーンショットに示すように 5 です。
次に、php7 バージョンの環境で実行します。以下のスクリーンショットに示すように、結果は 3 になります。
演算結果が異なる理由は、実際には、最新の php7 バージョンでは、PHPglobal 変数処理メカニズムが変更されているためです。このバージョンでは、global キーワードは単純な変数のみを参照できるようになりました。したがって、ローカルの php5 バージョン環境で動作すると、$y の出力値は $x+$y=5 になります。このとき、global はグローバル変数を使用することと同等になります。 php7 環境では、$y の出力値は $y=3 になります。このとき、グローバル変数は単純変数 $y のみを直接参照できます。
それでは、上記のサンプルコードの説明を通じて、PHP のグローバル変数が異なるバージョンで動作すると異なる結果が生じる問題についてのこの記事が、関連する問題に遭遇したときに皆さんに役立つことを願っています。また、この記事を利用できることを願っています。バージョンの下で、php グローバルの使用法を理解できます。
【おすすめ関連記事】