- var_dump: documentation ( source)
- ob_start: documentation ( source)
- ob_get_contents: documentation ( source)
- intdiv: documentation ( source)
- ob_end_clean: documentation ( source)
<?php
ob_start();
var_dump(intdiv(3, 2));
var_dump(intdiv(-3, 2));
var_dump(intdiv(3, -2));
var_dump(intdiv(-3, -2));
var_dump(intdiv(PHP_INT_MAX, PHP_INT_MAX));
var_dump(intdiv(~PHP_INT_MAX, ~PHP_INT_MAX));
try {
var_dump(intdiv(~PHP_INT_MAX, -1));
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
try {
var_dump(intdiv(1, 0));
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
$result = ob_get_contents();
ob_end_clean();
$expectedOutput = <<<EOT
int(1)
int(-1)
int(-1)
int(1)
int(1)
int(1)
Exception: Division of PHP_INT_MIN by -1 is not an integer
Exception: Division by zero
EOT;
var_dump($expectedOutput);
var_dump($result);