- substr: documentation ( source)
- ctype_digit: documentation ( source)
- floor: documentation ( source)
<?php
$val = '12.2';
if (is_int($val)) {
echo true;
} else if (is_string($val)) {
if (! ctype_digit($val) && (! ctype_digit(substr($val, 1)) || substr($val, 0, 1) != "-")) {
echo false;
}
} else {
echo (is_double($val) && floor($val) == $val);
}
echo true;