Fungsi isset()
dan empty()
dalam PHP berfungsi dengan tujuan yang berbeza yang berkaitan dengan pengendalian dan penilaian yang berubah -ubah.
isset()
digunakan untuk menentukan sama ada pembolehubah ditetapkan dan tidak NULL. Ia kembali true
jika pembolehubah wujud dan mempunyai nilai selain daripada NULL
, jika tidak, ia mengembalikan false
. Fungsi ini amat berguna untuk memeriksa jika pembolehubah telah diasaskan sebelum cuba menggunakannya, yang dapat membantu mencegah notis mengenai pembolehubah yang tidak ditentukan.empty()
jika pemboleh ubah kosong. Pembolehubah dianggap kosong jika tidak wujud, atau jika nilainya bersamaan dengan FALSE
. Ini termasuk ""
(rentetan kosong), 0
(integer atau float), 0.0
, "0"
, NULL
, FALSE
, array()
, atau pembolehubah yang diisytiharkan tanpa nilai dalam kelas. Fungsi empty()
berguna untuk mengesahkan input pengguna atau memeriksa jika pembolehubah mempunyai nilai yang boleh dianggap tidak kosong. Perbezaan utama antara isset()
dan empty()
dalam PHP berpusat pada apa yang mereka menilai dan bagaimana mereka merawat pelbagai jenis nilai:
isset()
memeriksa kewujudan pembolehubah dan sama ada ia adalah NULL
, sedangkan empty()
melangkah lebih jauh untuk menilai "kebenaran" nilai pembolehubah.Rawatan Nilai :
isset()
akan kembali true
untuk sebarang pembolehubah yang wujud dan tidak NULL
, walaupun ia adalah rentetan kosong, 0
, atau array kosong.empty()
akan kembali true
untuk nilai -nilai ini ( ""
, 0
, NULL
, FALSE
, dan lain -lain) kerana mereka dianggap "kosong" atau bersamaan dengan FALSE
.Pulangan nilai untuk kes tertentu :
isset($var)
akan kembali false
jika $var
tidak ditetapkan atau NULL
.empty($var)
akan kembali true
jika $var
tidak ditetapkan, NULL
, atau nilai "kosong"; Jika tidak, ia mengembalikan false
. Berkesan menggunakan isset()
dan empty()
dalam PHP melibatkan pemahaman peranan khusus mereka dalam menilai keadaan berubah:
Menggunakan isset()
:
Gunakan isset()
untuk memeriksa sama ada pembolehubah telah ditetapkan sebelum anda cuba menggunakannya. Ini amat berguna apabila bekerja dengan borang dan input pengguna untuk memastikan data yang diharapkan hadir.
<code class="php">if (isset($_POST['username'])) { // Safe to use $_POST['username'] }</code>
Campurkan isset()
dengan syarat -syarat lain untuk mengakses elemen array bersarang dengan selamat.
<code class="php">if (isset($array['key1']['key2'])) { // Access $array['key1']['key2'] }</code>
Menggunakan empty()
:
Gunakan empty()
untuk memeriksa sama ada pemboleh ubah adalah "kosong" atau FALSE
, yang dapat memudahkan pemeriksaan bersyarat.
<code class="php">if (empty($var)) { // $var is considered empty }</code>
empty()
amat berguna untuk mengesahkan input pengguna atau memeriksa parameter pilihan.
<code class="php">if (!empty($_POST['email'])) { // Email field is not empty and can be processed }</code>
Apabila menggunakan isset()
dan empty()
dalam PHP, beberapa kesilapan biasa harus dielakkan untuk memastikan kod anda berfungsi seperti yang dimaksudkan:
isset()
dan empty()
boleh ditukar ganti : mereka tidak. isset()
cek untuk kewujudan dan keadaan bukan null pembolehubah, sementara empty()
cek untuk "kebenaran" pembolehubah. Menggunakannya secara bergantian boleh menyebabkan kesilapan logik. Tidak memeriksa array dengan betul : Apabila berurusan dengan tatasusunan, pastikan anda menggunakan isset()
dengan betul untuk memeriksa kekunci bersarang.
if (isset($array))
apabila anda bermaksud menyemak $array['key']
.if (isset($array['key']))
. Menghadapi Gotchas empty()
: ingat bahawa empty()
menganggap 0
, ""
, dan "0"
sebagai kosong, yang mungkin bukan apa yang anda inginkan dalam perbandingan berangka atau rentetan.
empty()
untuk memeriksa sama ada pengguna telah memasukkan ID angka yang sah, yang mungkin 0
.if ($_POST['id'] === '0' || $_POST['id'] > 0)
. Dengan memahami dan mengelakkan perangkap biasa ini, anda boleh menggunakan penggunaan isset()
dan empty()
dalam kod PHP anda.
Atas ialah kandungan terperinci Apakah tujuan isset () dan kosong () dalam php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!