gpt4 book ai didi

php - is_numeric() 与 is_float() 与 is_int()

转载 作者:IT王子 更新时间:2023-10-29 00:09:08 25 4
gpt4 key购买 nike

我的理解是...

如果 is_numeric($input) === true

然后要么

is_float($input) === true

is_int($input) === true

$input === 0

$input 是一个数字字符串(这意味着如果它没有用引号括起来,它将满足前 3 个中的一个)。

这是准确的吗?还有其他区别吗?

最佳答案

请参阅关于 is_numeric 的 PHP 文档.它讨论了所有允许的事情,而且不仅仅是 is_floatis_int


同样重要的是要注意 is_int 仅适用于整数类型的事物,这意味着不允许使用字符串表示形式。这是验证表单输入是否为整数时的常见问题。您应该使用 filter_var 或过滤器系列中的过滤器 FILTER_VALIDATE_INT。对于 float ,使用 FILTER_VALIDATE_FLOAT


此外,如果您尝试检查整数的原因是为了将参数验证为 int,那么在 PHP 7 中您可以这样做:

function foo(int $i) {
// $i is guaranteed to be an int (is_int) will be true
}

PHP 7 有两种不同的转换为 int 的模式; this answer再解释一下。

请注意,如果您正在验证表单元素的内容,这可能不是您想要的。为此使用 filter_var 解决方案。

关于php - is_numeric() 与 is_float() 与 is_int(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8307104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com