- var_export: documentation ( source)
<?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);