【问题标题】:What is the difference between filter_var(FILTER_VALIDATE_INT) and is_int? [duplicate]filter_var(FILTER_VALIDATE_INT) 和 is_int 有什么区别? [复制]
【发布时间】:2019-06-10 18:09:27
【问题描述】:

我在很多应用程序中都使用过这两个函数来检查和验证整数

$foo = $bar;

if (filter_var($foo,FILTER_VALIDATE_INT)) {
// do something
}

if (is_int($foo)) {
 // do something
}

两者都可以完美运行,但我想知道两者在速度和结果方面的区别,因为 PHP 作为一种棘手的语言,在看似做同样事情的函数之间存在差异,例如 mt_randrand

【问题讨论】:

标签: php random


【解决方案1】:

filter 函数旨在处理用户输入,该输入始终是一个字符串。 FILTER_VALIDATE_INT 将验证 一个字符串 是否是一个有效的整数(或者它已经是一个 int),如果是,则返回一个 int

is_int 只是告诉你一个值的类型是否为int

【讨论】:

  • is_int()is_numeric() 所做的事情也很容易混淆。 filter_var($, FILTER_VALIDATE_INT) 的行为更像 is_numeric($v) ? (int)$v : false
猜你喜欢
  • 2015-11-23
  • 2013-02-13
  • 2011-04-26
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
相关资源
最近更新 更多