php7 取余,PHP7中对大数求余报错Uncaught DivisionByZeroError: Modulo by zero

一、问题描述

今天在使用PHP中的求余的时候,发现了一个“很怪异的事”,

在PHP中执行如下代码echo 2 % pow(2,32);

既然报错:

PHP Fatal error:  Uncaught DivisionByZeroError: Modulo by zero in Command line code:1

Stack trace:

#0 {main}

thrown in Command line code on line 1

Fatal error: Uncaught DivisionByZeroError: Modulo by zero in Command line code:1

Stack trace:

#0 {main}

thrown in Command line code on line 1

换了台机器,既然能够执行成功,如下:

32位系统执行如下:

php7 取余,PHP7中对大数求余报错Uncaught DivisionByZeroError: Modulo by zero_第1张图片

当在64位系统中,却能正常如下:

php7 取余,PHP7中对大数求余报错Uncaught DivisionByZeroError: Modulo by zero_第2张图片

当时觉得不可以思议,最后好好比较了一下两台机器的区别,

你可能感兴趣的:(php7,取余)