それは私の最初の質問なので、こんにちは..
この条件を満たすことは可能でしょうか?$a と $b は定義済みの変数です
if(!is_numeric($a * $b.'')) { ... }
編集:2番目の条件
$a * $b can't be INF
それは私の最初の質問なので、こんにちは..
この条件を満たすことは可能でしょうか?$a と $b は定義済みの変数です
if(!is_numeric($a * $b.'')) { ... }
編集:2番目の条件
$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';
}