


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()
<?php $variable = NULL; var_dump(isset($variable));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
<?php $variable = NULL; var_dump(empty($variable));
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
<?php $variable = NULL; var_dump(is_null($variable));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
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:
<?php $variable = NULL; var_dump(isset($variable));
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
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()
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()
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()
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
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
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!

Beban mengimbangi mempengaruhi pengurusan sesi, tetapi dapat diselesaikan dengan replikasi sesi, ketegangan sesi, dan penyimpanan sesi berpusat. 1. Sesi Replikasi Salinan Data Sesi Antara Pelayan. 2. Sesi Stickiness mengarahkan permintaan pengguna ke pelayan yang sama. 3. Penyimpanan Sesi Pusat menggunakan pelayan bebas seperti Redis untuk menyimpan data sesi untuk memastikan perkongsian data.

Sessionlockingisatechniqueusedtoensureauserererersessionremainsexclusivetooneuseratatime.IScrucialFreventingDataCorruptionSandsecuritybreachesinmulti-userapplications.SessionLockingISimplementedusingserverververveChan

Alternatif untuk sesi PHP termasuk kuki, pengesahan berasaskan token, sesi berasaskan pangkalan data, dan redis/memcached. 1.Cookies Menguruskan sesi dengan menyimpan data pada klien, yang mudah tetapi rendah dalam keselamatan. 2. Pengesahan berasaskan token menggunakan token untuk mengesahkan pengguna, yang sangat selamat tetapi memerlukan logik tambahan. 3.Database-berasaskan data menyimpan data dalam pangkalan data, yang mempunyai skalabilitas yang baik tetapi boleh menjejaskan prestasi. 4. Redis/Memcached menggunakan cache yang diedarkan untuk meningkatkan prestasi dan skalabiliti, tetapi memerlukan pemadanan tambahan

SessionHijacking merujuk kepada penyerang yang menyamar sebagai pengguna dengan mendapatkan sessionId pengguna. Kaedah pencegahan termasuk: 1) menyulitkan komunikasi menggunakan HTTPS; 2) mengesahkan sumber sessionId; 3) menggunakan algoritma generasi sesi yang selamat; 4) Secara kerap mengemas kini sessionId.

Artikel ini membincangkan PHP, memperincikan bentuk penuhnya, kegunaan utama dalam pembangunan web, perbandingan dengan Python dan Java, dan kemudahan pembelajarannya untuk pemula.

PHP mengendalikan data borang menggunakan $ \ _ post dan $ \ _ mendapatkan superglobals, dengan keselamatan memastikan melalui pengesahan, sanitisasi, dan interaksi pangkalan data yang selamat.

Artikel ini membandingkan PHP dan ASP.NET, memberi tumpuan kepada kesesuaian mereka untuk aplikasi web berskala besar, perbezaan prestasi, dan ciri keselamatan. Kedua-duanya berdaya maju untuk projek besar, tetapi PHP adalah sumber terbuka dan bebas platform, sementara ASP.NET,

Kepekaan kes PHP berbeza -beza: Fungsi tidak sensitif, manakala pembolehubah dan kelas sensitif. Amalan terbaik termasuk penamaan yang konsisten dan menggunakan fungsi kes-insensitif untuk perbandingan.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
