php中0," ",null和false的区别
php中很多还不懂php中0,"",null和false之间的区别,这些区别有时会影响到数据判断的正确性和安全性,给程序的测试运行造成很多麻烦。
先看一个例子:
$str1 = null;
$str2 = false;
echo $str1==$str2 ? ‘相等’ : ‘不相等’;
$str3 = "";
$str4 = 0;
echo $str3==$str4 ? ‘相等’ : ‘不相等’;
$str5 = 0;
$str6 = '0';
echo $str5===$str6 ? ‘相等’ : ‘不相等’;
$str7=0;
$str=false;
echo $str7==$str8 ? ‘相等’ : ‘不相等’;
?>
运行结果:
//相等,相等,不相等,相等。
原因是在PHP中变量是以C语言的结构体来存储的,空字符串和NULL,false都是以值为0存储的,其中这个结构体有个zend_uchartype;这样的成员变量,他是用来保存变量的类型的,而空字符串的类型是string,NULL的类型是NULL,false是boolean。
这一点可以用echo gettype('');和echogettype(NULL);来打印看看!而===运算符是不单比较值,还有比较类型的,所以第三个为false!
所以可以这样说===是等于下面的函数:
functioneq($v1,$v2)
{
if($v1==$v2&&gettype($v1)
==gettype($v2)) {
return1;
} else {
return0;
}
}
所以空字符串(''),false,NULL和0是值相等而类型不一样!
注意:
NULL是一种特殊的类型.两种情况下为NULL
1. $var = NULL;
2. $var;3.""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果var 为空,则返回 TRUE。
以上就介绍了php中0," ",null和false的区别,包括了方面的内容,希望对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

AI Hentai Generator
Menjana ai hentai secara percuma.

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



Dalam era perkembangan teknologi yang pesat hari ini, bahasa pengaturcaraan bermunculan seperti cendawan selepas hujan. Salah satu bahasa yang telah menarik perhatian ramai ialah bahasa Go, yang digemari oleh ramai pembangun kerana kesederhanaan, kecekapan, keselamatan serentak dan ciri-ciri lain. Bahasa Go terkenal dengan ekosistemnya yang kukuh dengan banyak projek sumber terbuka yang sangat baik. Artikel ini akan memperkenalkan lima projek sumber terbuka bahasa Go yang dipilih dan membawa pembaca untuk meneroka dunia projek sumber terbuka bahasa Go. KubernetesKubernetes ialah enjin orkestrasi kontena sumber terbuka untuk automatik

Perbezaan antara null dan NULL dalam bahasa C ialah: null ialah definisi makro dalam bahasa C, biasanya digunakan untuk mewakili penunjuk nol, yang boleh digunakan untuk memulakan pembolehubah penunjuk, atau untuk menentukan sama ada penuding adalah nol dalam pernyataan bersyarat; NULL ialah definisi makro dalam bahasa C Pemalar yang dipratentukan dalam , biasanya digunakan untuk mewakili nilai nol, digunakan untuk mewakili penunjuk nol, tatasusunan penunjuk nol atau penunjuk struktur nol.

Dalam JavaScript, kedua-dua undefined dan null mewakili konsep "nothing": 1. undefined mewakili pembolehubah tidak dimulakan atau sifat tidak wujud Apabila pembolehubah diisytiharkan tetapi tiada nilai diberikan kepadanya, nilai pembolehubah adalah undefined . apabila mengakses sifat yang tidak wujud dalam objek, nilai yang dikembalikan juga tidak ditentukan;

"Go Language Development Essentials: 5 Syor Rangka Kerja Popular" Sebagai bahasa pengaturcaraan yang pantas dan cekap, bahasa Go digemari oleh semakin ramai pembangun. Untuk meningkatkan kecekapan pembangunan dan mengoptimumkan struktur kod, ramai pembangun memilih untuk menggunakan rangka kerja untuk membina aplikasi dengan cepat. Dalam dunia bahasa Go, terdapat banyak rangka kerja yang sangat baik untuk dipilih. Artikel ini akan memperkenalkan 5 rangka kerja bahasa Go yang popular dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan menggunakan rangka kerja ini dengan lebih baik. 1.GinGin ialah rangka kerja web yang ringan dengan pantas

Kedua-dua null dan undefined menunjukkan kekurangan nilai atau keadaan tidak ditentukan Bergantung pada senario penggunaan, terdapat beberapa prinsip panduan untuk memilih untuk menggunakan null atau undefined: 1. Apabila anda perlu menunjukkan dengan jelas bahawa pembolehubah kosong atau tidak sah, anda. boleh menggunakan null; 2. Apabila pembolehubah telah diisytiharkan tetapi belum diberikan nilai, ia akan ditetapkan kepada tidak ditentukan secara lalai 3. Apabila anda perlu menyemak sama ada pembolehubah kosong atau tidak ditentukan, gunakan pengendali kesamaan yang ketat "= ==" untuk menentukan sama ada pembolehubah itu batal atau tidak ditentukan. .

Perbezaan antara null dan undefined ialah: 1. Makna semantik 2. Senario penggunaan 3. Perbandingan dengan nilai-nilai lain 5. Hubungan dengan parameter fungsi; . Prestasi dalam siri JSON 9. Hubungan dengan jenis. Pengenalan terperinci: 1. Makna semantik, null biasanya bermaksud mengetahui bahawa pembolehubah ini tidak akan mempunyai sebarang nilai objek yang sah, manakala undefined biasanya bermaksud bahawa pembolehubah belum diberikan nilai, atau objek tidak mempunyai atribut ini 2. Senario penggunaan , dsb.

Laravel ialah rangka kerja PHP popular yang sangat berskala dan cekap Ia menyediakan banyak alat dan perpustakaan yang berkuasa yang membolehkan pembangun membina aplikasi web berkualiti tinggi dengan cepat. Antaranya, LaravelEcho dan Pusher ialah dua alat yang sangat penting di mana komunikasi WebSockets boleh dilaksanakan dengan mudah Artikel ini akan memperincikan cara menggunakan kedua-dua alat ini dalam aplikasi Laravel. Apakah itu WebSockets? WebSockets

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code
