Dalam pembangunan PHP, kita selalunya perlu mendapatkan semua pembolehubah dalam skop kod semasa. Pembolehubah ini boleh ditakrifkan dalam skrip semasa atau dirujuk daripada fail atau fungsi lain. Dalam kes ini, fungsi terbina dalam PHP get_defined_vars() sangat berguna. Fungsi
get_defined_vars() mengembalikan tatasusunan yang mengandungi semua pembolehubah yang ditentukan dalam skop semasa. Ini termasuk semua pembolehubah global, pembolehubah tempatan, pembolehubah sistem, dsb., dan pembolehubah ini disusun mengikut susunan pembolehubah tersebut muncul dalam skop global. Berikut ialah sintaks fungsi get_defined_vars():
array get_defined_vars ( void )
Fungsi ini tidak mengambil sebarang parameter dan hanya perlu dipanggil. Berikut ialah contoh mudah yang menunjukkan cara menggunakan fungsi:
function test() { $name = "Tom"; $age = 25; $vars = get_defined_vars(); echo "The variables in the current scope are: "; print_r($vars); } test();
Output:
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 )
Seperti yang anda boleh lihat daripada output di atas, tatasusunan yang dikembalikan oleh fungsi mengandungi semua pembolehubah yang ditentukan dalam skop semasa. Dalam contoh di atas, kami menentukan dua pembolehubah $name dan $age, dan kemudian menggunakan fungsi get_defined_vars() untuk mendapatkan semua pembolehubah dalam skop semasa. Akhirnya, pembolehubah ini dipaparkan dengan mencetak tatasusunan.
Dalam pembangunan sebenar, menggunakan fungsi get_defined_vars() boleh meningkatkan kecekapan pembangunan program dan penyahpepijatan. Ia membolehkan kami menyemak nilai pembolehubah semasa dengan lebih mudah dan menjejak definisi dan penggunaan setiap pembolehubah dengan cepat semasa proses pembangunan untuk memastikan ketepatan dan kebolehselenggaraan kod.
Ringkasnya, fungsi get_defined_vars() ialah fungsi yang sangat praktikal dalam PHP, yang boleh mendapatkan semua pembolehubah yang ditentukan dalam skop semasa dengan mudah. Jika anda seorang pembangun PHP dan belum menggunakan fungsi ini lagi, saya syorkan anda mencubanya dan melaksanakannya ke dalam projek anda.
Atas ialah kandungan terperinci Gunakan get_defined_vars() untuk mendapatkan semua pembolehubah dalam skop semasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!