这是我的第一个问题,所以大家好..
有可能满足这个条件吗?其中 $a 和 $b 是一些已定义的变量
if(!is_numeric($a * $b.'')) { ... }
编辑:第二个条件
$a * $b can't be INF
这是我的第一个问题,所以大家好..
有可能满足这个条件吗?其中 $a 和 $b 是一些已定义的变量
if(!is_numeric($a * $b.'')) { ... }
编辑:第二个条件
$a * $b can't be INF
$a
您可以使用和的特定值来满足条件$b
。例如$a = $b = 1e200
, 或$a = 1e400, $b = 0
。
$a
如果和的乘积$b
溢出到无穷大或者是非数字,则与空字符串的连接将产生字符串INF
or NAN
:
php > var_export(1e200*1e200);
INF
php > var_export(is_numeric(1e200*1e200));
true
php > var_export(is_numeric(1e200*1e200.''));
false
php > var_export(1e400*0);
NAN
php > var_export(is_numeric(1e400*0));
true
php > var_export(is_numeric(1e400*0 .''));
false
使用 32 位 PHP 测试
$a = 9.9E300;
$b = 9.9E300;
if(!is_numeric($a * $b.'')) {
echo 'non-numeric';
} else {
echo 'numeric';
}