PHP7新機(jī)能マニュアル
/ 整型處理機(jī)制修改
整型處理機(jī)制修改
整型處理機(jī)制修改
一、無效八進(jìn)制數(shù)字會報(bào)編譯錯(cuò)誤
無效的八進(jìn)制數(shù)字(包含大于7的數(shù)字)會報(bào)編譯錯(cuò)誤,比如下面的代碼會報(bào)錯(cuò):
$i = 0781; // 8 is not a valid octal digit!
老版本的PHP會把無效的數(shù)字忽略。
二、位移負(fù)的位置會產(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會返回1。
四、右位移超出會返回0或者-1.
var_dump(1 >> 64); // int(0) var_dump(-1 >> 64); // int(-1)