ホームページ >バックエンド開発 >PHPチュートリアル >get_define_vars() を使用して、現在のスコープ内のすべての変数を取得します

get_define_vars() を使用して、現在のスコープ内のすべての変数を取得します

WBOY
WBOYオリジナル
2023-06-27 08:57:121271ブラウズ

PHP 開発では、多くの場合、現在のコード スコープ内のすべての変数を取得する必要があります。これらの変数は、現在のスクリプトで定義されているか、他のファイルまたは関数から参照されている可能性があります。この場合、PHP 組み込み関数 get_define_vars() が非常に便利です。

get_define_vars() 関数は、現在のスコープ内で定義されているすべての変数を含む配列を返します。これには、すべてのグローバル変数、ローカル変数、システム変数などが含まれ、これらの変数はグローバル スコープ内で出現する順序で配置されます。 get_define_vars() 関数の構文は次のとおりです。

array get_defined_vars ( void )

この関数はパラメータをとらず、呼び出す必要があるだけです。以下は、この関数の使用方法を示す簡単な例です。

function test() {
   $name = "Tom";
   $age = 25;
   $vars = get_defined_vars();
   echo "The variables in the current scope are:
";
   print_r($vars);
}

test();

出力:

The variables in the current scope are:
Array
(
    [name] => Tom
    [age] => 25
    [_GET] => Array
        (
        )

    [_POST] => Array
        (
        )

    [_COOKIE] => Array
        (
        )

    [_FILES] => Array
        (
        )

    [_SERVER] => Array
        (
            [HTTP_HOST] => localhost
            [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0
            [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
            [HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.5
            [HTTP_ACCEPT_ENCODING] => gzip, deflate
            [HTTP_CONNECTION] => keep-alive
            [HTTP_UPGRADE_INSECURE_REQUESTS] => 1
            [PATH] => C:Program Files (x86)Common FilesOracleJavajavapath;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShell1.0;C:WindowsSystem32OpenSSH;C:ProgramDataComposerSetupin;C:Program FilesGitcmd;C:Program Filesdotnet;C:Program FilesMicrosoft SQL ServerXToolsBinn;C:UsersmahmoodAppDataLocalProgramsPythonPython39Scripts;C:UsersmahmoodAppDataLocalProgramsPythonPython39;C:UsersmahmoodAppDataLocalMicrosoftWindowsApps;
            [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
            [TEMP] => C:UsersmahmoodAppDataLocalTemp
            [TMP] => C:UsersmahmoodAppDataLocalTemp
            [WINDIR] => C:Windows
            [USERPROFILE] => C:Usersmahmood
            [PSModulePath] => C:Program FilesWindowsPowerShellModules;C:Windowssystem32WindowsPowerShell1.0Modules
            [PUBLIC] => C:UsersPublic
            [SESSIONNAME] => Console
            [SystemDrive] => C:
            [SystemRoot] => C:Windows
            [ComSpec] => C:Windowssystem32cmd.exe
            [ProgramData] => C:ProgramData
            [ProgramFiles] => C:Program Files
            [ProgramFiles(x86)] => C:Program Files (x86)
            [ProgramW6432] => C:Program Files
            [OneDrive] => C:UsersmahmoodOneDrive
            [CommonProgramFiles] => C:Program FilesCommon Files
            [CommonProgramFiles(x86)] => C:Program Files (x86)Common Files
            [CommonProgramW6432] => C:Program FilesCommon Files
            [PROCESSOR_IDENTIFIER] => Intel64 Family 6 Model 140 Stepping 1, GenuineIntel
            [PROCESSOR_ARCHITECTURE] => AMD64
            [PROCESSOR_ARCHITEW6432] => AMD64
            [NUMBER_OF_PROCESSORS] => 8
            [OS] => Windows_NT
            [USERDOMAIN] => DESKTOP-890S6TR
            [USERNAME] => mahmood
            [USERDNSDOMAIN] => desktop-890s6tr.lan
            [ORIGINAL_PATH] => C:Program Files (x86)Common FilesOracleJavajavapath;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShell1.0;C:WindowsSystem32OpenSSH;C:ProgramDataComposerSetupin;C:Program FilesGitcmd;C:Program Filesdotnet;C:Program FilesMicrosoft SQL ServerXToolsBinn;C:UsersmahmoodAppDataLocalProgramsPythonPython39Scripts;C:UsersmahmoodAppDataLocalProgramsPythonPython39;C:UsersmahmoodAppDataLocalMicrosoftWindowsApps;
            [ORIGINAL_TEMP] => C:UsersmahmoodAppDataLocalTemp
            [ORIGINAL_TMP] => C:UsersmahmoodAppDataLocalTemp
            [ORIGINAL_PATHNAME] => C:Program Files (x86)Common FilesOracleJavajavapath;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShell1.0;C:WindowsSystem32OpenSSH;C:ProgramDataComposerSetupin;C:Program FilesGitcmd;C:Program Filesdotnet;C:Program FilesMicrosoft SQL ServerXToolsBinn;C:UsersmahmoodAppDataLocalProgramsPythonPython39Scripts;C:UsersmahmoodAppDataLocalProgramsPythonPython39;C:UsersmahmoodAppDataLocalMicrosoftWindowsApps;
            [SystemProfile] => C:Windowssystem32configsystemprofile
            [SystemProfileDesktop] => C:Windowssystem32configsystemprofileDesktop
            [PROCESSOR_LEVEL] => 6
            [PROCESSOR_REVISION] => 8c01
            [_] => C:
mppphpphp.exe
        )

    [_SESSION] => Array
        (
        )

    [name] => Tom
    [age] => 25
)

上記の出力からわかるように、関数によって返される配列には、定義されたすべての値が含まれています。現在のスコープの変数。上の例では、2 つの変数 $name と $age を定義し、get_define_vars() 関数を使用して現在のスコープ内のすべての変数を取得しました。最後に、これらの変数は配列を出力することによって表示されます。

実際の開発では、get_define_vars()関数を使用すると、プログラムの開発やデバッグの効率が大幅に向上します。これにより、現在の変数の値をより簡単に確認し、開発プロセス中に各変数の定義と使用法を迅速に追跡して、コードの正確さと保守性を確保することができます。

つまり、get_define_vars() 関数は、現在のスコープ内で定義されているすべての変数を簡単に取得できる、PHP の非常に実用的な関数です。 PHP 開発者でこの関数をまだ使用したことがない場合は、試してプロジェクトに実装することをお勧めします。

以上がget_define_vars() を使用して、現在のスコープ内のすべての変数を取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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