gpt4 book ai didi

php - 确定功能是否设置的正确方法

转载 作者:搜寻专家 更新时间:2023-10-31 21:26:31 24 4
gpt4 key购买 nike

我似乎无法找到解决我的问题的方法。我试图检查一个函数的值是否已设置以及它是否做了一些事情但是当我运行下面的代码时底部的代码抛出错误底部的代码是我希望使用的代码

似乎毫无意义地将函数调用到变量中只是为了查看它是否已设置

//working check if set
$wa_passwordreset = WA_FN_Validate_Post($_POST['wa_passwordreset']);
if(isset($wa_passwordreset))
{
echo"do some stuff";
}

//NOT working check if set
if(isset( WA_FN_Validate_Post($_POST['wa_passwordreset']) ))
{
echo"do some other stuff";
}

最佳答案

根据 PHP manual :

isset — Determine if a variable is set and is not NULL

isset 实际上测试是否设置了变量,而不是函数是否返回任何值。这就是您的代码不起作用的原因。

im trying to check if the value of a function has been set

函数有值。函数可以返回值。您无法检查函数是否有值以及是否已设置。

此外,

$wa_passwordreset = WA_FN_Validate_Post($_POST['wa_passwordreset']);
if(isset($wa_passwordreset))
{
echo "do some stuff";
}

这部分代码将总是返回真。原因是即使 WA_FN_Validate_Post 返回一个空字符串,变量 $wa_passwordreset 也将被视为已设置并且 isset 检查将始终返回。为避免这种情况,您应该像这样检查您的 $_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";
}

关于php - 确定功能是否设置的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35237587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com