我想面对的问题很常见,但我没有看到互联网上的单个帖子。
如果我使用isset($_POST)
,
true
吗?$_POST
是变量吗? (毕竟,这是一个超级全球'变量'。因为在php.net文档中,提到了 isset()
仅适用于变量,因为传递任何其他内容都会导致解析错误。
答案 0 :(得分:4)
它会永远回归吗?
是的,即使使用GET
方法打开了网页,也没有任何内容被POST
编辑。
响应是否取决于我使用的PHP版本?
不是没有(不确定PHP的旧版本)。
$ _POST是变量吗?
是
isset()仅适用于变量,因为传递任何其他内容都会导致解析错误。
这在手册中明确提到,以便人们不要尝试做 cheaky 的东西。例如,这些不起作用:
function getVarName() { return '_POST'; }
isset(getVarName());
isset('$_POST');
现在,您为什么要检查是否设置了$_POST
。也许想要检查是否发布了某个变量(例如电子邮件),在这种情况下您需要检查:
isset($_POST["email"])
答案 1 :(得分:1)
isset($_POST);
将始终返回true。如果您想检查它是否包含某些内容,请使用empty($_POST);
响应是否取决于我使用的PHP版本?
没有
$ _POST是变量吗?
是
答案 2 :(得分:1)
我建议使用以下其中一项:
if($_POST){
}
if(!empty($_POST)){
}
1,它会永远归还吗?
isset($ _ POST)将始终返回true。如果$ _POST为空,则返回false。
2,响应是否取决于我使用的PHP版本?
我不确定4. *以下的版本。但是响应总是一样的。
3,$ _POST是变量吗?
是的,它被认为是超级全局,如:$ GLOBALS,$ _SESSION,$ _POST,$ _GET
答案 3 :(得分:1)
您是否发布了任何数据$_POST
将始终设置为数组。您可能正在寻找的是empty()
方法,以查看是否实际发布了任何数据,例如:
if(!empty($_POST)) {
// POST data was set
}
答案 4 :(得分:0)
答案 5 :(得分:0)
Isset()
仅当它包含某个值时才返回true(它可以是Zero 0)。 如果它没有任何值,则返回false。 如果你想阻止(0)使用
if(isset($_POST) && $_POST)
如果只有非零值
,则为真$_POST is global array
Response doesn't depend upon the version of PHP