Can take as many arguments and will return false if one of them is not a number.
X::dump(\bbn\Str::isNumber([1, 2]));
// (bool) false
X::dump(\bbn\Str::isNumber(150);
// (bool) 1
X::dump(\bbn\Str::isNumber('150'));
// (bool) 1
X::dump(\bbn\Str::isNumber(1.5);
// (bool) 1
function()
{
if (empty($args = \func_get_args())) {
return false;
}
foreach ($args as $a){
if (\is_string($a)) {
if (!preg_match('/^-?(?:\d+|\d*\.\d+)$/', $a)) {
return false;
}
}
elseif (!\is_int($a) && !\is_float($a)) {
return false;
}
}
return true;
}