3v4l.org

run code in 300+ PHP versions simultaneously
<?php function a($val) { $maxValue = (int) (\PHP_INT_MAX / 1000); $value = $val * 1000; echo 'Value: '.\gettype($val).' '.$val.PHP_EOL; echo 'Timer: '.\gettype($value).' '.$value.PHP_EOL; echo 'Casted: '.((int) $value).PHP_EOL; echo 'Overflow: '.\var_export($val > $maxValue, true).PHP_EOL; echo 'Overflow <0: '.\var_export(((int) $value) <= 0 && $val > 0, true).PHP_EOL; echo 'PHP Overflow: '.\var_export($value > \PHP_INT_MAX, true).PHP_EOL; echo 'Overflow combined: '.\var_export($value > \PHP_INT_MAX || (((int) $value) <= 0 && $val > 0), true).PHP_EOL; echo 'Supposed to fail: '.\var_export(\gettype($value) === 'double', true).PHP_EOL; echo PHP_EOL; } $maxValue = (int) (\PHP_INT_MAX / 1000); echo 'Max value: '.$maxValue.PHP_EOL; echo 'Max PHP value: '.\PHP_INT_MAX.PHP_EOL.PHP_EOL; a($maxValue); a($maxValue - 1); a($maxValue + 1); a($maxValue + 10); a($maxValue + 10000000); a(\PHP_INT_MAX); a(\PHP_INT_MAX + 1); a(\PHP_INT_MAX + 10); a(\PHP_INT_MAX + 100); a(\PHP_INT_MAX + 10000000); a(\PHP_INT_MAX * 1000);

preferences:
53.43 ms | 402 KiB | 5 Q