How to check if integer multiplication will overflow in PHP

1 Answer

0 votes
function multiplyWillOverflow($x, $y) {
      return ($x * $y) > PHP_INT_MAX;
}
 
$x = 3983929;
$y = 1472783642;
echo multiplyWillOverflow($x, $y) ? "true" : "false", PHP_EOL;
 
$x = 9223372036854775807; // PHP_INT_MAX
$y = 2;
echo multiplyWillOverflow($x, $y) ? "true" : "false", PHP_EOL;
 
 
/*
run:
 
false
true
 
*/

 



answered May 18 by avibootz
...