PHPのグローバルと$GLOBALS[]の分析
グローバル問題
phpでのグローバルの使用。次の例:
$name="even";//変数名を定義し、初期化する
function echoName()
{
//関数外の変数を参照しようとする
echo "myname is ".$name . "
";
}
echoName();
分析:
上記のコードの結果は次のとおりです。予想されるものではなく、「私の名前は偶数です」。この関数はパラメーター $name の値を渡さないため、外部変数を参照しようとしても成功しません。現時点ではグローバルの使用を検討してください。
そのため、上記のコードは
global $name="even";//グローバル
function echoName() で宣言しながら値を割り当てます
{
//関数
echo の外の変数を参照しようとしています"myname is ".$name."
";
}
echoName();
結果は次のようになります: 構文エラー、予期しない '='、',' または ';' D: phpserverwwwtesttest.php の 2 行目
つまり、上記のコードにはエラーがあります。その理由は、グローバル宣言中に変数に値を割り当てることができないためです。
上記のコードを再度変更します:
global $name;
$name="even";//グローバル宣言を割り当てから分離します
function echoName()
{
//関数の外の変数を参照しようとします
echo "myname is ".$name."
";
}
echoName();
しかし、結果は依然として "myname is" です。
その理由は、グローバルの使用法が間違っているためです。グローバルの正しい使用法は、「関数に外部変数を導入します。変数がパラメーターを介して渡されない場合、変数はグローバルを介して導入されます。」です。関数が参照する場合 外部変数の場合は、関数内で global を介して変数を宣言すると、その変数を関数内で使用できるようになります (パラメーターとして渡すのと同じです)。
そこで、上記のコードをさらに変更しました:
$name="even";//変数名を定義して初期化します
function echoName()
{
//global を介して $name を宣言することは、以下と同等ですパラメータを渡す
global $name;
echo "myname is ".$name."
";
echoName();
この時点で期待される結果が得られます: "myname is Even " 。
上記のコードは、変数のスコープをグローバルにするのではなく、パラメーターを渡すために global が使用されていることを示しています。次のコードはこれを証明しています:
$name="even";//変数 $name を宣言して初期化します
function echoName1()
{
//関数 echoName1() で $ を宣言するには global を使用しますname
global $name;
echo "最初の名前は ".$name."
";
function echoName2()
{
//global は関数 echoName2( )
echo "2 番目の名前は ".$name."
";
echoName1()
?> 結果は次のようになります:
最初の名前は
2 番目の名前は
上記の結果は、関数 echoName2() で $name 変数がまだ不明であることを示しています。これは、変数が global で宣言されておらず、渡されていないためです。また、global の役割は変数のスコープをグローバルにすることではないことも証明しています。
要約すると、global の役割は、関数の外で宣言された変数を使用する場合、global を使用して変数を渡すことと同等であり、変数は次のようになります。参照しました。
もちろん、上記の方法に加えて、外部変数を使用する必要がある場合は、$GLOBALS['var'] を使用するだけで、グローバル配列 $GLOBALS を使用することもできます。例: t & lt;? PHP
$ name = "EVEN"; // 変数名を定義し、
Function echoname () {
// グローバル配列経由 $ globals
Echo "myname is"。 'name']."
";
}
echoName();
結果は次のようになります: myname は偶数です。
さらに、global および $GLOBALS を使用する場合は、大文字と小文字が間違っていると、キーワードが機能しなくなるので注意してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています
