关于php 位运算 移位的疑惑
PHP中文网
PHP中文网 2017-05-16 13:09:55
0
1
425

var_dump( (pack("C" , 1)<<1) ==pack("C" , 1) );
为什么是true呢

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(1)
phpcn_u1582

Quand il s'agit de comparaison PHP, tapez conversion
1, pack("C", 1)<<1, le résultat est int(0)
2, pack("C", 1), le résultat est une chaîne (" ")

En fait, c'est simplifié à la comparaison de 0 == ""

PHP effectuera une conversion de type si les types ne sont pas égaux lors de la comparaison PHP 在比较的时候,如果类型不相等,会进行类型转换
这里就会把 string("") 转换成 int 类型,也就是会变成 int(0),所以这里返回 true

你要严格判断,可以使用 ===Ici, string("") sera converti en type int, ce qui signifie qu'il deviendra int(0), donc ici Return true

Vous devez juger strictement, vous pouvez utiliser ===

🎜var_dump( (pack("C" , 1)<<1) ===pack("C" , 1) ); Le résultat est faux🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!