PHP "is_numeric" 接受 "E" 作为数字

Cyb*_*org 5 php string numbers isnumeric

我注意到 PHPis_numeric()接受“E”作为数字。我有一个字符串:“ 88205052E00”,我希望结果是:NOT numeric

这是我测试的代码。

<?php

$notnumber = '88205052E00';

if(is_numeric($notnumber)) {
    echo $notnumber . ' is a number';
} else {
    echo $notnumber . ' is NOT a number';
}

?>
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了结果:

88205052E00 is a number
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到结果:88205052E00 is NOT a number

ner*_*ist 6

我会保留答案以防它有所帮助,但正如所指出的那样,存在ctype_digit不喜欢-或 的缺点.

更有可能的是,您想使用 ctype_digit 来检查所提供的字符串文本中的所有字符是否都是数字。

where as is_numeric — 查找变量是数字还是数字字符串

<?php

$s = "88205052E00";

if(ctype_digit($s)){
    echo "Yes";
} else {
    echo "No";
}
Run Code Online (Sandbox Code Playgroud)

返回没有。

  • 如果您希望“3948394873281738173172493274871218201832081239183”为“-1”返回 true 和 false,这是很好的。 (2认同)