


Bandingkan fungsi isset(), kosong() dan is_null() PHP
Anda akan menggunakan pembolehubah dalam hampir setiap program yang ditulis dalam PHP. Selalunya pembolehubah ini mempunyai nilai, dan kami biasanya menciptanya dengan nilai awal. Walau bagaimanapun, sentiasa ada kemungkinan beberapa pembolehubah yang anda gunakan tidak dimulakan. Ini boleh menyebabkan PHP mengeluarkan amaran tentang penggunaan pembolehubah tidak ditentukan.
Terdapat banyak sebab untuk pembolehubah yang tidak ditentukan. Masalah yang paling biasa ialah anda sebenarnya tidak mentakrifkan pembolehubah, atau anda membuat kesilapan apabila menggunakannya semula di tempat lain. Ini hanyalah ralat pengaturcaraan. Walau bagaimanapun, satu lagi kemungkinan yang boleh mengakibatkan pembolehubah tidak ditentukan ialah ia ditakrifkan secara bersyarat.
Anda juga mungkin mendapati bahawa nilai pembolehubah ialah NULL
. Ini boleh berlaku atas pelbagai sebab. Sebagai contoh, pembolehubah mungkin tidak dimulakan dengan nilai. Atau fungsi mungkin mengembalikan null untuk menunjukkan beberapa jenis ralat. NULL
。发生这种情况的原因有多种。例如,变量可能只是尚未用值初始化。或者函数可能会返回空值来表示某种错误。
无论如何,在定义变量之前或当变量具有空值时使用变量可能会产生意想不到的后果。在本教程中,我将向您展示如何检查元素是否已定义并查看它是否为空或 null。
您可以使用 isset()
、empty()
或 is_null()
来检查其中一个或所有条件是否为真或假。
定义
让我们开始一些定义。
-
isset()
:您可以使用isset()
来确定变量是否已声明并且与null
不同。 -
empty()
:用于判断变量是否存在且变量的值不等于false
。 -
is_null()
:该函数用于检查变量是否为null
。
PHP isset()
与 empty()
正如我们从定义中看到的,如果我们之前定义了该变量并将其值设置为 NULL
以外的值,则 isset()
将返回 true
。这可以包括 0
、空字符串或 false
。另一方面,每当变量值设置为计算结果为 false
时,empty()
将返回 true
— 我们称这些为“假”值。 falsey 值的示例包括 0
、空字符串 ""
和字符串 "0"
、空数组、NULL
,或者当然是布尔值 false
。
isset()
和 empty()
之间的一个相似之处是它们都是语言结构,因此不能使用变量函数进行调用。
下面的代码片段应该解释这两者之间的区别。
<?php $fruit = ''; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // Output: Do you like ? if(!empty($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output ?>
请注意,empty()
可以使用 isset()
函数编写:
<?php function my_empty($x) { return !isset($x) || $x == false } ?>
当然,通常使用内置的 empty()
函数会更容易。
PHP isset()
与 is_null()
如果变量的值已显式设置为 NULL
,则 is_null()
函数将返回 true
。否则,它只是返回 false
。另一方面,只要定义了变量并且其值不为 NULL
,isset()
就会返回 true
。
这是一个基本示例来显示它们之间的差异。
<?php $fruit = NULL; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output if(is_null($fruit)) { echo 'There is no fruit.'; } // Output: There is no fruit. ?>
PHP empty()
与 is_null()
如果变量的值计算结果为 false
,则 empty()
函数将返回 true
。这可能意味着空字符串、NULL
、整数 0
或没有元素的数组。另一方面,仅当变量的值为 NULL
时,is_null()
才会返回 true
。
这是一个基本示例来显示它们之间的差异。
<?php $person = ['first_name' => 'Monty', 'last_name' => '', 'age' => '83', 'fav_movie' => NULL]; if(empty($person['last_name'])) { if(is_null($person['last_name'])) { echo 'The last name is set to NULL.'; } else { echo 'The last name is probably an empty string.'; } } // Output: The last name is probably an empty string. if(is_null($person['fav_movie'])) { echo $person['first_name'].' did not specify a favorite movie.'; } // Output: Monty did not specify a favorite movie.
要记住的重要要点
您可以使用两个技巧来编写更简洁的代码并避免将来出现错误。
1.与 empty()
和 is_null()
不同,您可以一次向 isset()
传递多个值,以同时检查其中是否有任何未定义或设置为 NULL
。在这种情况下,如果传递的值都不是 NULL
,则 isset()
将仅返回 true
。
2.不要使用 ==
来检查值是否为 NULL
。这将为错误值(例如计算为 false
的空字符串)提供误报。
最终想法
本教程快速解释了 isset()
、empty()
和 is_null()
isset()
, empty()
atau is_null()
untuk menyemak sama ada satu atau semua syarat adalah benar atau palsu. 🎜
Takrif
🎜Mari mulakan dengan beberapa definisi. 🎜-
isset()
: Anda boleh menggunakanisset()
untuk menentukan sama ada pembolehubah telah diisytiharkan dan berbeza daripadanull
. -
empty()
: Digunakan untuk menentukan sama ada pembolehubah wujud dan nilai pembolehubah itu tidak sama denganfalse
. -
is_null()
: Fungsi ini digunakan untuk menyemak sama ada pembolehubah adalahnull
.
PHP isset()
dan kosong()
🎜Seperti yang kita boleh lihat daripada takrifan, jika sebelum ini kita mentakrifkan pembolehubah dan menetapkan nilainya kepada sesuatu selain daripada NULL
, isset()
akan mengembalikan true kod>. Ini boleh termasuk <code>0
, rentetan kosong atau false
. Sebaliknya, empty()
akan mengembalikan true
apabila nilai pembolehubah ditetapkan untuk menilai kepada false
— kami panggil ini "false" " nilai. Contoh nilai falsey termasuk 0
, rentetan kosong ""
dan rentetan "0"
, tatasusunan kosong, NULL
, atau sudah tentu nilai boolean false
. 🎜
🎜Satu persamaan antara isset()
dan empty()
ialah kedua-duanya adalah binaan bahasa dan oleh itu tidak boleh dipanggil menggunakan fungsi pembolehubah. 🎜
🎜Coretan kod di bawah harus menerangkan perbezaan antara keduanya. 🎜
rrreee
🎜Sila ambil perhatian bahawa empty()
boleh ditulis menggunakan fungsi isset()
: 🎜
rrreee
🎜Sudah tentu, ia biasanya lebih mudah untuk menggunakan fungsi empty()
terbina dalam. 🎜
PHP isset()
dan is_null()
🎜Jika nilai pembolehubah telah ditetapkan secara eksplisit kepada NULL
, fungsi is_null()
akan mengembalikan true
. Jika tidak, ia hanya mengembalikan false
. Sebaliknya, isset()
mengembalikan true
apabila pembolehubah ditakrifkan dan nilainya bukan NULL
. 🎜
🎜Berikut adalah contoh asas untuk menunjukkan perbezaan antara mereka. 🎜
rrreee
PHP kosong()
dan is_null()
🎜Jika nilai pembolehubah dinilai kepada false
, fungsi empty()
akan mengembalikan true
. Ini mungkin bermaksud rentetan kosong, NULL
, integer 0
atau tatasusunan tanpa unsur. Sebaliknya, is_null()
akan mengembalikan true
hanya jika nilai pembolehubah ialah NULL
. 🎜
🎜Berikut adalah contoh asas untuk menunjukkan perbezaan antara mereka. 🎜
rrreee
Perkara penting untuk diingat
🎜Terdapat dua petua yang boleh anda gunakan untuk menulis kod yang lebih bersih dan mengelakkan ralat pada masa hadapan. 🎜 🎜1 Tidak sepertiempty()
dan is_null()
, anda boleh menghantar berbilang nilai kepada isset()
sekaligus untuk menyemaknya secara serentak. Adakah mana-mana yang tidak ditentukan atau ditetapkan kepada NULL
. Dalam kes ini, isset()
hanya akan mengembalikan true
jika tiada nilai yang diluluskan adalah NULL
. 🎜
🎜2 Jangan gunakan ==
untuk menyemak sama ada nilainya NULL
. Ini akan memberikan positif palsu untuk nilai yang salah seperti rentetan kosong yang menilai kepada false
. 🎜
Pemikiran Akhir
🎜Tutorial ini menerangkan dengan cepat perbezaan antaraisset()
, empty()
dan is_null()
. Mudah-mudahan anda kini dapat menentukan yang mana antara ini yang terbaik untuk anda gunakan dalam kod anda. 🎜Atas ialah kandungan terperinci Bandingkan fungsi isset(), kosong() dan is_null() PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Alipay Php ...

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimana cara debug mod CLI dalam phpstorm? Semasa membangun dengan PHPStorm, kadang -kadang kita perlu debug PHP dalam mod Interface Line Command (CLI) ...

Bagaimana untuk menetapkan keizinan UnixSocket secara automatik selepas sistem dimulakan semula. Setiap kali sistem dimulakan semula, kita perlu melaksanakan perintah berikut untuk mengubahsuai keizinan UnixSocket: sudo ...

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...
