【发布时间】:2012-08-30 23:48:56
【问题描述】:
我正在编写一个脚本,该脚本会提取几个 $_GET 变量,然后在脚本中使用这些变量来计算报价等。
我的噩梦只是能够确定它们中的任何一个是否没有值,例如 ?var1=500&var2=&var3=Yes 而 var2 是那里的罪魁祸首。
根据是否所有的 $_GET 变量都有值,我会相应地采取不同的行动。
我研究并提出了这个选项:
<?php
foreach($_GET as $name => $value) {
if ($value == "") {
$proceed = 0;
} else {
$proceed = 1;
}
}
?>
我现在正在使用 $proceed 来回显一段简单的文本,仅用于测试目的。
这不起作用,我考虑过 isset 和 empty 但我相信这两个选项在这种情况下都没有用。我在许多资料中读到,没有给定值的 $_GET 参数默认为 "',所以我很困惑为什么这不起作用。
这里不能使用empty,因为有时参数会设置为0。
不用说,我已经打印了$_GET的内容,得到了满意的结果,所以数据都很好。
非常感谢任何帮助。
【问题讨论】:
-
foreach 与 $_GET -> 坏主意。
-
@Mahn 为什么?我看不出有什么好的理由……
-
好吧,如果我查询一个在 $_GET 上具有数十万个参数的 foreach 的页面怎么办?
-
不可能@Mahn 对于 1,URL 只能这么长。第二:当前PHP版本有
max_input_vars防止哈希冲突。
标签: php