我似乎无法找到解决问题的方法。我试图检查函数的值是否已经设置,如果它已经做了一些东西,但是当我运行下面的代码时,底部的代码会抛出一个错误,底部的代码是我想要使用的代码
似乎毫无意义地将函数调用为变量,只是为了查看它的集合
HKEY_CURRENT_USERS
答案 0 :(得分:1)
根据PHP manual:
isset - 确定变量是否已设置且不为NULL
isset
实际测试是否设置了变量,而不是函数返回任何值。这就是你的代码不起作用的原因。
我试图检查函数的值是否已设置
不的函数具有值。函数可以返回值。您无法检查函数是否具有值以及是否已设置。
此外,
$wa_passwordreset = WA_FN_Validate_Post($_POST['wa_passwordreset']);
if(isset($wa_passwordreset))
{
echo "do some stuff";
}
此部分代码将始终返回true。这样做的原因是,即使WA_FN_Validate_Post
返回空字符串,变量$wa_passwordreset
也会被视为已设置,isset
检查将始终返回true
。为避免这种情况,您应该检查$_POST
,如下所示:
if(isset($_POST['wa_passwordreset']))
{
$wa_passwordreset = WA_FN_Validate_Post($_POST['wa_passwordreset']);
echo "do some stuff";
}
或者,如果维持订单并在WA_FN_Validate_Post
之后检查至关重要,请使用empty
:
$wa_passwordreset = WA_FN_Validate_Post($_POST['wa_passwordreset']);
if(isset($wa_passwordreset) && !empty($wa_passwordreset)) // be extra paranoid!
{
echo "do some stuff";
}