關於php 位元運算 移位的疑惑
PHP中文网
PHP中文网 2017-05-16 13:09:55
0
1
474

var_dump( (pack("C" , 1)<<1) ==pack("C" , 1) );
為什麼是true呢

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(1)
phpcn_u1582

牽涉到php 比較的時候,型別轉換
1、pack("C" , 1)2、pack("C" , 1) , 結果是string("")

其實簡化成了 0 == "" 的比較

PHP 在比较的时候,如果类型不相等,会进行类型转换
這裡就會把 string("") 轉換成 int 型,也就是會變成 int(0),所以這裡回傳 true

你要嚴格判斷,可以使用 ===

var_dump( (pack("C" , 1)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板