Rumah >pembangunan bahagian belakang >tutorial php >Petua Pantas: Cara Memeriksa Jika Pembolehubah Ditetapkan Dalam PHP
Apabila memeriksa sama ada pembolehubah ditetapkan dalam PHP, tindak balas pertama kami mungkin menggunakan fungsi
. Walaupun ini berfungsi dalam kebanyakan kes, jika kita melihat definisi fungsi isset()
, kita akan melihat yang berikut: isset()
Walau bagaimanapun, dalam PHP kita boleh menetapkan pembolehubah untuk batal:: Menentukan sama ada pembolehubah telah diisytiharkan dan tidak batal.
isset()
<code class="language-php"><?php $variable = NULL; var_dump(isset($variable));</code>Tugasan ini akan kembali palsu - walaupun kita telah secara jelas menetapkan pembolehubah untuk batal! Ini adalah keadaan yang boleh menyebabkan kekeliruan dalam PHP. Dalam berikut, kita akan melihat kaedah
dan bila menggunakannya, dan kaedah lain yang boleh kita gunakan apabila isset()
tidak berfungsi. isset()
empty()
muncul is_null()
boleh membantu kita menentukan sama ada pembolehubah mempunyai beberapa set nilai, ia tidak akan membantu kita jika pembolehubah ditetapkan kepada batal. Untuk mengendalikan keadaan ini, kita perlu menggunakan fungsi isset()
atau empty()
. Fungsi is_null()
akan menentukan sama ada pemboleh ubah kosong. Ia akan sah untuk situasi berikut (iaitu kembali benar): empty()
empty()
kita juga boleh menggunakan fungsi
<code class="language-php"><?php $variable = NULL; var_dump(empty($variable));</code>
Berikut adalah contoh cara menggunakan is_null()
untuk menentukan sama ada pemboleh ubah adalah null:
is_null()
Perkara yang paling penting apabila berurusan dengan pembolehubah PHP adalah memahami perbezaan antara
<code class="language-php"><?php $variable = NULL; var_dump(is_null($variable));</code>dan
. Ketiga -tiga fungsi ini boleh digunakan untuk menentukan keadaan pembolehubah, tetapi mereka berkelakuan berbeza. Jadual berikut boleh digunakan untuk menyerlahkan perbezaan antara fungsi ini. isset()
is_null()
empty()
"" "foo" null false 0 Undefined
true false empty()
true true true Benar benar true false is_null()
false false false true false true Benar (ralat)
isset()
true true true false true
Menggunakan get_defined_vars()
akan mengembalikan array bersekutu dengan kunci sebagai nama pembolehubah dan nilai sebagai nilai pembolehubah. Kami masih tidak boleh menggunakan isset(get_defined_vars()['variable'])
di sini kerana kunci mungkin wujud dan nilai masih batal, jadi kita perlu menggunakan array_key_exists('variable', get_defined_vars())
.
Contoh:
<code class="language-php"><?php $variable = NULL; var_dump(isset($variable));</code>
Menggunakan get_defined_vars()
Dengan cara ini, kita boleh 100% menentukan sama ada kita sedang memeriksa sama ada pembolehubah ditetapkan.
Dalam artikel pendek ini, kita membincangkan bagaimana untuk memeriksa sama ada pembolehubah ditetapkan dalam PHP. Kami juga melihat perbezaan antara set, kosong dan batal, serta pertimbangan utama untuk diingat apabila menggunakan fungsi biasa isset()
, is_null()
dan empty()
. Oleh itu, pada masa yang akan datang, anda perlu menyemak status pembolehubah PHP, anda akan mempunyai semua maklumat yang anda perlukan supaya anda boleh memilih kaedah yang betul dan menyangkal semua kekaburan dalam kod anda.
isset()
dalam PHP digunakan untuk menentukan sama ada pembolehubah ditetapkan dan tidak NULL. Jika pembolehubah wujud dan tidak batal, fungsi ini kembali benar, jika tidak palsu. Ini adalah fungsi yang berguna untuk mengelakkan kesilapan apabila anda cuba mengakses pembolehubah yang mungkin tidak wujud atau mungkin mempunyai nilai null. isset()
Bagaimanakah perbezaan antara fungsi
isset()
dalam php? empty()
dan isset()
digunakan untuk memeriksa nilai -nilai pembolehubah, mereka berfungsi sedikit berbeza. Fungsi empty()
memeriksa sama ada pembolehubah ditetapkan dan tidak batal. Sebaliknya, fungsi isset()
memeriksa sama ada pembolehubah kosong. Jika pembolehubah tidak wujud atau nilainya adalah sama dengan palsu, pembolehubah dianggap kosong. Oleh itu, jika pembolehubah tidak ditetapkan atau nilainya adalah 0, 0.0, "", "0", null, palsu, array (), atau pembolehubah yang tidak tersendiri, empty()
akan kembali benar. empty()
isset()
untuk memeriksa sama ada terdapat kunci khusus dalam array. Jika kunci wujud dan nilainya tidak batal, isset()
akan kembali benar. Jika kunci tidak wujud atau nilainya adalah batal, isset()
akan kembali palsu. isset()
. Fungsi ini mengembalikan benar hanya jika semua pembolehubah yang ditetapkan ditetapkan dan tidak batal. isset()
isset()
untuk pembolehubah yang tidak tersembunyi, ia akan kembali palsu. Ini kerana fungsi isset()
dalam PHP digunakan untuk memusnahkan pemboleh ubah yang ditentukan, jadi selepas pembolehubah tidak tersendiri, ia tidak lagi ditetapkan dan nilainya dianggap null. unset()
isset()
untuk memeriksa sama ada pembolehubah ditetapkan kepada 0? Ya, anda boleh menggunakan isset()
untuk memeriksa sama ada pembolehubah ditetapkan kepada 0. Fungsi isset()
hanya memeriksa sama ada pembolehubah ditetapkan dan tidak batal. Ia tidak menyemak nilai pembolehubah. Oleh itu, jika pembolehubah ditetapkan kepada 0, isset()
akan kembali benar.
isset()
untuk mengelakkan kesilapan pembolehubah yang tidak ditentukan? Anda boleh menggunakan isset()
untuk memeriksa sama ada pembolehubah ditetapkan sebelum cuba menggunakannya, dengan itu mengelakkan kesilapan pembolehubah yang tidak ditentukan. Jika isset()
mengembalikan palsu, ini bermakna pembolehubah tidak ditetapkan dan anda boleh mengelakkan menggunakannya, dengan itu menghalang kesilapan pembolehubah yang tidak ditentukan.
isset()
dengan sifat objek dalam php? Ya, anda boleh menggunakan isset()
dengan sifat objek dalam PHP. Fungsi isset()
boleh digunakan untuk memeriksa sama ada sifat -sifat wujud dalam objek. Jika harta itu wujud dan nilainya tidak batal, isset()
akan kembali benar.
isset()
dan is_null()
dalam
Fungsi isset()
is_null()
memeriksa sama ada pembolehubah ditetapkan dan tidak null, manakala fungsi isset()
memeriksa sama ada pembolehubah adalah batal. Jadi jika pemboleh ubah ditetapkan ke NULL, is_null()
akan kembali palsu dan
isset()
Bolehkah saya menggunakan
isset()
Ya, anda boleh menggunakan isset()
untuk memeriksa sama ada medan borang telah diisi. Apabila borang dikemukakan, medan borang dihantar ke pelayan sebagai pembolehubah. Anda boleh menggunakan
Atas ialah kandungan terperinci Petua Pantas: Cara Memeriksa Jika Pembolehubah Ditetapkan Dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!