phpcn_u15822017-05-16 13:11:55
牽涉到php 比較的時候,型別轉換
1、pack("C" , 1)<<1 , 結果是int(0)
2、pack("C" , 1) , 結果是string("")
其實簡化成了 0 == "" 的比較
PHP 在比较的时候,如果类型不相等,会进行类型转换
這裡就會把 string("") 轉換成 int 型,也就是會變成 int(0),所以這裡回傳 true
你要嚴格判斷,可以使用 ===
var_dump( (pack("C" , 1)<<1) ===pack("C" , 1) ); 結果是 false