Akses Pembolehubah Global dalam Fungsi PHP
Dalam pelbagai bahasa pengaturcaraan, pembolehubah yang diisytiharkan di luar fungsi boleh digunakan dalam fungsi. Walau bagaimanapun, bertentangan dengan jangkaan, kod PHP berikut menghasilkan output tatasusunan kosong:
<code class="php">$data = 'My data'; function menugen() { echo "[" . $data . "]"; } menugen();</code>
Untuk memahami tingkah laku ini, kami menyelidiki peraturan skop pembolehubah PHP. Secara lalai, fungsi hanya mempunyai akses kepada pembolehubah yang ditakrifkan dalam skop terdekatnya. Untuk mengakses pembolehubah luaran, kata kunci global mesti digunakan dalam fungsi.
<code class="php">$data = 'My data'; function menugen() { global $data; // Add this line echo "[" . $data . "]"; } menugen();</code>
Dengan memasukkan baris ini, pembolehubah $data diisytiharkan sebagai global dalam fungsi menugen, membolehkan penggunaannya. Sebagai alternatif, pembolehubah di luar skop fungsi boleh diakses menggunakan tatasusunan $GLOBALS.
<code class="php">echo $GLOBALS['data'];</code>
Adalah penting untuk ambil perhatian bahawa semasa menggunakan global memberikan kemudahan, ia boleh memperkenalkan kerumitan dan kerapuhan kod. Pendekatan yang lebih mantap ialah menghantar data ke dalam fungsi sebagai parameter, meningkatkan kebolehselenggaraan kod dan mengurangkan pergantungan pada pembolehubah global. Ini boleh dicapai seperti berikut:
<code class="php">$data = 'My data'; function menugen($data) { // Declare parameter echo "[" . $data . "]"; } menugen($data); // Pass data at function call</code>
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Pembolehubah Global dalam Fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!