Apabila menulis kod dalam PHP, pembolehubah tidak ditentukan atau ralat indeks tidak ditentukan sering berlaku. Ralat ini biasanya disebabkan oleh pembolehubah atau tatasusunan yang tidak ditentukan. Antaranya, Notis PHP: Pembolehubah tidak ditentukan: uname ialah ralat bukan maut yang biasanya muncul dalam kod.
Notis PHP: Pembolehubah tidak ditentukan: ralat uname berlaku kerana pembolehubah $uname tidak ditakrifkan sebelum digunakan. Ralat ini biasanya berlaku apabila pengaturcara terlepas peringkat pengisytiharan atau definisi apabila menggunakan pembolehubah, menyebabkan pembolehubah tidak ditentukan.
Apabila menghadapi ralat ini, kami boleh menggunakan beberapa penyelesaian untuk membetulkannya. Berikut ialah beberapa penyelesaian:
1 Periksa sama ada pembolehubah telah ditakrifkan
Pertama, kita perlu menyemak sama ada pembolehubah telah ditakrifkan. Mungkin pengaturcara terlepas menentukan pembolehubah sebelum menggunakannya.
Apabila mentakrifkan pembolehubah, anda boleh menggunakan $uname = "" untuk menempah ruang untuk pembolehubah $uname dahulu. Jika anda tidak perlu memberikan nilai kepada pembolehubah semasa mentakrifkannya, anda juga boleh menggunakan $uname = null untuk mentakrifkan pembolehubah.
2. Tetapkan tahap pelaporan ralat kepada E_ALL
Kedua, tetapkan tahap pelaporan ralat kepada E_ALL untuk membolehkan PHP memaparkan semua ralat, termasuk Notis.
Tambah kod berikut di bahagian atas fail PHP:
error_reporting(E_ALL);
Kaedah ini membolehkan pengaturcara mencari ralat dengan cepat semasa pembangunan, dan Mampu untuk membuat pengubahsuaian tepat pada masanya.
3 Gunakan isset() untuk menyemak sama ada pembolehubah telah ditakrifkan
Gunakan fungsi isset() untuk menyemak sama ada pembolehubah telah ditakrifkan, ia akan mengembalikan palsu .
Contoh kod:
if(isset($uname)){
//Pembolehubah ditakrifkan
}lain{
//Pembolehubah tidak ditakrifkan
}
Gunakan fungsi isset() untuk menyemak sama ada pembolehubah telah ditakrifkan sebelum menggunakannya, dengan itu mengelakkan pembolehubah Tidak ditentukan: ralat uname.
4. Gunakan rujukan pembolehubah &
Biasanya, apabila pembolehubah dihantar dalam PHP, ia diluluskan mengikut nilai. Apabila menggunakan rujukan pembolehubah &, pembolehubah boleh diluluskan dengan rujukan untuk mengelakkan situasi di mana pembolehubah dalam fungsi tidak boleh diluluskan di luar fungsi.
Contoh kod:
tambah fungsi(&$str){
$str .= "world";
}
$msg = "hello" ;
add($msg);
echo $msg;
Dalam contoh di atas, pembolehubah $msg dihantar ke fungsi add() melalui rujukan, dan pembolehubah diubah suai dalam Pengubahsuaian, akhirnya nilai pembolehubah $msg ditukar kepada "hello world".
Menggunakan rujukan pembolehubah & membolehkan pengaturcara mengelakkan masalah tidak dapat mengubah suai nilai pembolehubah di dalam fungsi, sekali gus mengelakkan pembolehubah Undefined: ralat uname.
Ringkasan
Apabila membangunkan program PHP dan pembolehubah Tidak ditentukan: ralat uname berlaku, anda perlu menyemak dengan teliti sama ada pembolehubah dalam kod telah ditakrifkan. Masalah ini boleh diselesaikan dengan menyemak sama ada pembolehubah ditakrifkan, menetapkan tahap pelaporan ralat kepada E_ALL, menggunakan isset() untuk menyemak sama ada pembolehubah ditakrifkan, menggunakan rujukan pembolehubah &, dsb. Dengan menggunakan kaedah ini dengan sewajarnya, pengaturcara boleh menulis kod PHP yang lebih stabil.
Atas ialah kandungan terperinci Notis PHP: Pembolehubah tidak ditentukan: penyelesaian uname. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!