PHP
var_dump(0 == null) //ture
javascript
console.log(0 == null) //false
Mengapa 0==null dalam PHP Bukankah 0 merupakan nilai berangka?
Alasannya ialah pembolehubah disimpan dalam struktur bahasa C dalam PHP Rentetan kosong, NULL, dan false semuanya disimpan dengan nilai 0. null, 0, dan false semuanya dinilai sebagai 0 tanpa membezakan jenis logik palsu
Lihat manual PHP, gambar di bawah diambil dari manual PHP
Jadual ini menunjukkan pemprosesan operator kiri dan kanan oleh operator binari PHP.
Kelihatan, 0 == null,一个运算子为数字,另一个运算子为null,符合表中的第二种情况,所以按照描述,两边同时被转成相应的布尔值,也就是说0和null都被转成了false,这样 false == false就是true.
0 == null
null
0
false
false == false
true
Alasannya ialah pembolehubah disimpan dalam struktur bahasa C dalam PHP Rentetan kosong, NULL, dan false semuanya disimpan dengan nilai 0.
null, 0, dan false semuanya dinilai sebagai 0 tanpa membezakan jenis logik palsu
Lihat manual PHP, gambar di bawah diambil dari manual PHP
Jadual ini menunjukkan pemprosesan operator kiri dan kanan oleh operator binari PHP.
Kelihatan,
0 == null
,一个运算子为数字,另一个运算子为null
,符合表中的第二种情况,所以按照描述,两边同时被转成相应的布尔值,也就是说0
和null
都被转成了false
,这样false == false
就是true
.