PHP filter_has_var 与空?

标签 php isset

我知道 empty 比 isset 快一点,但是 filter_has_var 比 isset 快一点(在 php.net 中写的)那么 empty 和 filter_has_var 哪个更快?

最佳答案

filter_has_var()如果由于某种原因清除了超全局变量,可能会有用,因为它检查原始输入数据,而不是 $_GET、$_POST、$_ETC。

例如:

$_GET["injected"] = 123;

var_dump( filter_has_var(INPUT_GET, "injected") );   // false

// or the other way round

虽然您可以覆盖变量,但 filter 扩展会访问一个单独的副本。并且 INPUT_GET 不会别名到 $_GET 超全局。

除此之外,另一个原因是将其用于统一。如果您广泛使用 filter_var,那么规则集会更喜欢使用 filter_has_var() 而不是 isset()。

但不要因为任何愚蠢的性能原因而使用其中之一。

关于PHP filter_has_var 与空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8843113/

相关文章:

php - 检查变量是否在函数内设置 "globally"

php - 如何检查是否一个接一个地设置直到完成

javascript - JS中如何判断是否设置了多维数组项?

php - 我应该以哪种格式期望提交的文本区域中的换行符

PHP : SEO friendly urls

php - 社交网络的数据库设计

javascript - 使用 JS base64 编码并使用 php base64_decode 进行判定

PHP - 相当于 PHP 中的 Python PDB(调试器)?

php - 是否可以简化 isset?

php - isset 返回 '1'