Bagaimanakah Saya Boleh Mengakses Pembolehubah Global Di Dalam Fungsi PHP?

Susan Sarandon
Lepaskan: 2024-10-27 06:44:03
asal
511 orang telah melayarinya

How Can I Access Global Variables Inside PHP Functions?

Kebolehcapaian Pembolehubah Global PHP

Tidak seperti kebanyakan bahasa pengaturcaraan, kod PHP tidak boleh mengakses terus pembolehubah yang ditakrifkan di luar fungsi. Salah tanggapan biasa timbul apabila cuba mendapatkan semula pembolehubah global di dalam fungsi, seperti yang ditunjukkan dalam kod berikut:

<code class="php">    $data = 'My data';

    function menugen() {
        echo "[" . $data . "]";
    }

    menugen();</code>
Salin selepas log masuk

Mengejutkan ramai, output akan menjadi kurungan persegi kosong ([]) dan bukannya dijangka "Data saya." Artikel ini menyelidiki mekanisme asas di sebalik tingkah laku ini dan menyediakan penyelesaian untuk mengakses pembolehubah global dalam fungsi.

Pengisytiharan Pembolehubah Global

PHP menyelesaikan isu dengan memerlukan pengisytiharan eksplisit pembolehubah global dalam fungsi di mana ia akan digunakan. Kata kunci global berfungsi untuk tujuan ini, seperti yang dilihat dalam kod yang diubah suai di bawah:

<code class="php">    $data = 'My data';

    function menugen() {
        global $data; // <-- Declares $data as global
        echo "[" . $data . "]";
    }

    menugen();</code>
Salin selepas log masuk

Dengan menambah baris ini, fungsi memberitahu PHP bahawa ia berhasrat untuk menggunakan pembolehubah global bernama $data. Tanpa pengisytiharan ini, PHP menganggap bahawa mana-mana pembolehubah yang tidak ditemui secara tempatan ialah pembolehubah tempatan dan memulakannya sedemikian. Oleh itu, output menjadi kosong.

Kaedah Akses Alternatif

Sebagai alternatif, pembolehubah global boleh diakses menggunakan tatasusunan $GLOBALS. Tatasusunan bersekutu ini menyimpan semua pembolehubah global dengan nama mereka sebagai kunci. Walaupun kaedah ini menyediakan cara untuk memanipulasi pembolehubah global, ia biasanya tidak digalakkan kerana potensi risiko keselamatan dan kerumitan dalam kebolehselenggaraan kod.

Mengelakkan Global

Dalam amalan pengaturcaraan moden , adalah amat disyorkan untuk mengelak daripada menggunakan pembolehubah global sama sekali. Sebaliknya, menghantar data ke dalam fungsi sebagai parameter lebih diutamakan untuk kod yang lebih bersih dan boleh diselenggara. Dalam contoh di atas, pendekatan ini akan kelihatan seperti:

<code class="php">    $data = 'My data';

    function menugen($data) { // <-- Parameter declared
        echo "[" . $data . "]";
    }

    menugen($data); // <-- Data passed during call</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah Global Di Dalam Fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!