isset() vs检查PHP中是否存在一个变量


isset() vs check if exists for a variable in PHP

如何比较以下两个函数调用来检查是否存在用于GET调用或POST调用的变量?

if(isset($_GET['var']))
if($_GET['var'])

都完成了它们的工作,但有时没有isset()我得到一个警告:

它是一个$_GET,而不是$GET。我也知道这与GET/POST无关。我所讨论的是变量检查而不是HTTP方法。谢谢。

$_GET["]通常是从浏览器中检索的,所以如果你有下面的东西:www.hello.com/index.php ? var =你好

你可以使用:

if(isset($_GET['var'])) {
echo $_GET['var']; // would print out hello
}

使用isset()将停止未定义的索引错误,所以如果你只有www.hello.com/index.php,那么即使没有设置var,你也不会看到错误。

post通常是当一个页面向另一个页面发布信息时,方法相同,但使用$_POST["]而不是$_GET["]。示例您有一个表单发布信息:

<form method="post" action="anotherpage.php">
    <label></label>
    <input type="text" name="text">
</form>

在另一个页面。php中获取信息的方式是:

$text = isset($_POST['text']);
echo $text; // would echo what ever you input into the text field on the other page

在一个坚果壳中,如果没有设置name,只需输入$_GET['name']就会得到一个错误。使用isset($_GET['name'])将检查var名是否有任何值,然后再继续。

不确定这是否是你想要的,但从这个问题来看,这是我对答案的最佳猜测