정수 처리 메커니즘 수정
1. 잘못된 8진수는 컴파일 오류를 보고합니다.
잘못된 8진수(7보다 큰 숫자 포함)는 컴파일 오류를 보고합니다.
$i = 0781; // 8 is not a valid octal digit!
이전 버전 PHP는 유효하지 않은 숫자를 무시합니다.
2. 음수 변위가 있는 위치는 예외가 발생합니다
var_dump(1 >> -1); // ArithmeticError: Bit shift by negative number
3. 왼쪽 변위가 자릿수를 초과하면 0
var_dump(1 << 64); // int(0)를 반환합니다. 이전 버전의 PHP 실행 결과는 CPU와 관련이 있습니다. 건축학. 예를 들어 x86은 1을 반환합니다. 4. 올바른 변위가 초과하면 0 또는 -1을 반환합니다.
var_dump(1 >> 64); // int(0) var_dump(-1 >> 64); // int(-1)