- abs: documentation ( source)
- printf: documentation ( source)
<?php
function is_even(int $n): bool {
$fn = null;
$fn = static function(int $nr) use($fn): bool {
if ($nr < 0) {
$nr = abs($nr);
}
if ($nr === 0) {
return true;
}
return $fn($nr - 1);
};
return $fn($n, false);
}
for($i = -5; $i <= 12; $i++) {
printf('is %d even? %s.%s', $i, is_even($i) ? 'yes': 'no', "\n");
}