Rumah >pembangunan bahagian belakang >tutorial php >Petua Pantas: Cara Memeriksa Jika Pembolehubah Ditetapkan Dalam PHP

Petua Pantas: Cara Memeriksa Jika Pembolehubah Ditetapkan Dalam PHP

Jennifer Aniston
Jennifer Anistonasal
2025-02-08 12:11:11645semak imbas

Quick Tip: How To Check if a Variable Is Set in PHP

Panduan Petua PHP Cepat ini akan menerangkan bagaimana untuk memeriksa sama ada pembolehubah ditetapkan dan jika ditetapkan, apakah nilainya - ini adalah tugas yang sangat biasa dalam pengaturcaraan.

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()

: Menentukan sama ada pembolehubah telah diisytiharkan dan tidak batal. isset()

Walau bagaimanapun, dalam PHP kita boleh menetapkan pembolehubah untuk batal:

<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()

dan empty() muncul is_null()

Walaupun kaedah

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()

    "" (rentetan kosong)
  • 0 (Integer 0)
  • 0.0 (nombor titik terapung 0)
  • "0" (String 0)
  • null
  • False
  • array () (array kosong)
  • $ var;
  • Ini bermakna kita boleh menggunakan
  • untuk menentukan sama ada pembolehubah kosong. Dalam kes ini, kedua -dua null dan palsu dianggap kosong:

empty() kita juga boleh menggunakan fungsi

. Fungsi ini menentukan sama ada pembolehubah adalah batal.
<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 empty() false true true true Benar benar benar true is_null() false false false true false false Benar (ralat) isset() true true true false true true

benar false

Adakah terdapat satu fungsi yang boleh kita gunakan?

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.

Kesimpulan

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.

Soalan Lazim untuk Pemeriksaan Variabel PHP (FAQ)

Apakah tujuan fungsi

dalam PHP? isset()

Fungsi

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

dan fungsi

dalam isset() dalam php? empty()

Walaupun kedua -dua fungsi

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()

Bolehkah saya menggunakan fungsi

untuk memeriksa sama ada kekunci array wujud? isset()

Ya, anda boleh menggunakan fungsi

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()

Bagaimana untuk memeriksa sama ada pelbagai pembolehubah ditetapkan dalam PHP?

Anda boleh menyemak sama ada pembolehubah berbilang ditetapkan dengan lulus pelbagai pembolehubah ke fungsi

. Fungsi ini mengembalikan benar hanya jika semua pembolehubah yang ditetapkan ditetapkan dan tidak batal. isset()

Apa yang berlaku jika saya menggunakan

untuk pembolehubah yang tidak disimpan? isset()

Jika anda menggunakan

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()

Bolehkah saya menggunakan 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.

bagaimana menggunakan 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.

Bolehkah saya menggunakan 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.

Apakah perbezaan antara 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

akan kembali benar.

isset() Bolehkah saya menggunakan

untuk memeriksa sama ada medan borang telah diisi?

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

untuk memeriksa sama ada pembolehubah ini ditetapkan, yang menunjukkan bahawa medan borang telah diisi.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn