Dalam PHP, pernyataan if ialah pernyataan bersyarat yang biasa digunakan untuk melaksanakan blok kod yang berbeza, bergantung pada sama ada satu atau lebih syarat adalah benar. Bentuk asas pernyataan if adalah seperti berikut:
if (condition) { // 如果条件成立,执行这里的代码 } else { // 如果条件不成立,执行这里的代码 }
Dalam bentuk asas ini, syarat ialah ungkapan Boolean yang mengembalikan benar atau palsu. Jika syarat adalah benar, penyataan if melaksanakan blok kod dalam pendakap kerinting jika tidak, blok kod dalam pernyataan else dilaksanakan.
Namun, apa yang berlaku jika keadaan tidak wujud atau kosong? Dalam kes ini, ralat kompilasi berlaku kerana pernyataan if menjangkakan ungkapan Boolean. Walau bagaimanapun, dalam pengaturcaraan sebenar, keadaan ini mungkin berlaku kerana kadangkala kita perlu tidak melaksanakan sebarang kod dalam situasi tertentu.
Untuk mengatasi masalah ini, kita boleh menggunakan beberapa helah untuk mengelak jika kenyataan mencetuskan ralat kompilasi apabila tiada syarat. Berikut ialah beberapa cara:
Jika anda ingin menyemak sama ada pembolehubah wujud, anda boleh menggunakan fungsi isset(). Contohnya, jika anda ingin menyemak sama ada $_GET['id'] wujud, anda boleh menggunakan kod berikut:
if (isset($_GET['id'])) { // 如果 $_GET['id'] 存在,执行这里的代码 } else { // 如果 $_GET['id'] 不存在,执行这里的代码 }
Ini akan mengelakkan PHP melaporkan ralat "Notis: Undefined index" kerana isset () fungsi akan menyemak Sama ada pembolehubah wujud Jika pembolehubah tidak wujud, ia mengembalikan palsu.
Jika anda ingin menyemak sama ada pembolehubah kosong (iaitu nilainya palsu, '', 0, null, array() atau '0'), anda boleh menggunakan fungsi kosong(). Contohnya, jika anda ingin menyemak sama ada $_POST['nama pengguna'] kosong, anda boleh menggunakan kod berikut:
if (!empty($_POST['username'])) { // 如果 $_POST['username'] 不为空,执行这里的代码 } else { // 如果 $_POST['username'] 为空,执行这里的代码 }
Ini akan mengelakkan PHP melaporkan ralat "Notis: Indeks tidak ditentukan" dan semak sama ada pembolehubah adalah kosong.
Jika anda hanya mahu melaksanakan kod tertentu apabila pembolehubah wujud, anda boleh menggunakan operator ternary. Contohnya, jika anda ingin menyemak sama ada $_SESSION['user'] wujud, anda boleh menggunakan kod berikut:
$_SESSION['user'] ? do_something() : do_nothing();
Jika $_SESSION ['user'] wujud, do_something() akan dilaksanakan ; jika tidak, do_nothing () akan dilaksanakan.
Ia adalah sangat biasa digunakan jika pernyataan dalam PHP. Walau bagaimanapun, jika keadaan tidak wujud, pernyataan if akan membuang ralat kompilasi. Menggunakan petua di atas, anda akan mengelakkan ralat ini dan memastikan kod anda lebih mantap.
Ringkasnya, penyataan PHP if boleh memberikan kita keupayaan untuk melaksanakan kod yang berbeza apabila syarat itu benar. Walau bagaimanapun, apabila keadaan tidak wujud, ia boleh menyebabkan ralat penyusunan. Menggunakan helah seperti isset(), empty(), dan operator ternary, anda boleh mengelakkan ralat ini dan menjadikan kod anda lebih mantap.
Atas ialah kandungan terperinci Apa yang berlaku apabila php jika tidak mempunyai nilai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!