Ketersediaan Variabel PHP
Ramai pemrogram PHP yang mula-mula keliru apabila pemboleh ubah PHP boleh didapati dalam program PHP. Pada dasarnya ia bergantung kepada bagaimana dan di mana pembolehubah diisytiharkan atau dicipta. Dalam tutorial sebelumnya *, anda mengetahui bahawa dalam kebanyakan kes anda akan mengisytiharkan pembolehubah dengan memberi nilai awal.

$ dollar_amt = 10;

Yang menjaga bagaimana untuk mengisytiharkan pembolehubah tetapi di mana anda mengisytiharkan pemboleh ubah juga penting. Pembolehubah hanya tersedia di mana ia telah dibuat. Sebagai contoh, jika kita membuat pembolehubah dalam fungsi, pemboleh ubah tersebut hanya tersedia dalam fungsi tersebut. Ia tidak wujud di luar fungsi itu. Fikirkan fungsi sebagai kotak yang mengandungi pembolehubah dan anda tidak boleh menggunakan pembolehubah di luar kotak itu. Mari kita lihat contoh. Fungsi di bawah ini membuat pembolehubah $ dollar_amt dan kemudian mencetak satu kalimat kepada pelayar web.

fungsi print_cost ()
{$ dollar_amt = 10;
echo "Kos adalah $ dollar_amt dollars."; }

Tidak ada masalah di sini kerana kami menggunakan pemboleh ubah dalam pernyataan echo dan pernyataan echo adalah sebahagian daripada fungsi yang sama yang membentuk pembolehubah. (Semuanya berada di dalam kotak.) Tetapi jika kita mahu menggunakan pemboleh ubah dalam pernyataan gema kedua kemudian dalam program, kita tidak akan lagi bekerja di dalam kotak. Kami akan cuba menggunakan pembolehubah "di luar" fungsi asal yang menciptanya.

fungsi print_cost ()
{$ dollar_amt = 10;
echo "Kos adalah $ dollar_amt dollars."; }
------
------
echo "Anda perlu menghantar cek $ dollar_amt dollars.";

Kerana pembolehubah tidak tersedia untuk pernyataan gema kedua, laman web akan kelihatan seperti ini.

Anda perlu menghantar cek untuk dolar.

Tetapi anda boleh membuat pembolehubah di mana saja di dalam program anda dan bukan hanya di dalam fungsi. Bagaimana dengan pembolehubah yang diisytiharkan di luar fungsi, contohnya dalam badan utama program anda? Peraturan ketersediaan yang sama adalah benar. Pembolehubah hanya tersedia di mana ia telah dibuat (dalam kes ini di luar kotak). Jika anda cuba menggunakan pembolehubah dalam fungsi / kotak, ia tidak akan tersedia. Sebagai contoh, jika anda menetapkan nilai awal daripada pembolehubah $ cent_amt kepada 50 dalam program anda, anda tidak boleh menggunakannya dalam fungsi di bawah.

$ cent_amt = 50;


fungsi print_cost ()
{$ dollar_amt = 10;
echo "Kos adalah $ dollar_amt dolar dan $ cent_amt sen."; }

Dalam pelayar web anda hanya akan melihat ayat berikut.

Kosnya ialah 10 dolar dan sen.

Tetapi bagaimana dengan masa-masa apabila anda perlu menggunakan pembolehubah "luar" dalam fungsi? Cara mudah untuk menyelesaikan masalah ini ialah untuk melewati pembolehubah tersebut sebagai hujah apabila anda memanggil fungsi tersebut.

print_cost ("50");

-------
* Anda mungkin ingin membaca beberapa tutorial sebelumnya tentang pembolehubah dan fungsi PHP.





Arahan Video: PHP Tutorial (& MySQL) #14 - Variable Scope (Mungkin 2024).