PHP7 ??? ?? ???
/ 整型處理機(jī)制修改
整型處理機(jī)制修改
整型處理機(jī)制修改
一、無(wú)效八進(jìn)制數(shù)字會(huì)報(bào)編譯錯(cuò)誤
無(wú)效的八進(jìn)制數(shù)字(包含大于7的數(shù)字)會(huì)報(bào)編譯錯(cuò)誤,比如下面的代碼會(huì)報(bào)錯(cuò):
$i = 0781; // 8 is not a valid octal digit!
老版本的PHP會(huì)把無(wú)效的數(shù)字忽略。
二、位移負(fù)的位置會(huì)產(chǎn)生異常
var_dump(1 >> -1); // ArithmeticError: Bit shift by negative number
三、左位移如果超出位數(shù)返回0
var_dump(1 << 64); // int(0)
老版本的PHP運(yùn)行結(jié)果和cpu架構(gòu)有關(guān)系。比如x86會(huì)返回1。
四、右位移超出會(huì)返回0或者-1.
var_dump(1 >> 64); // int(0) var_dump(-1 >> 64); // int(-1)