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

i cant seem to find a solution to my issue. im trying to check if the value of a function has been set and if it has do some stuff however when i run the below codes the bottom one throws a error the code at the bottom is the code i wish to use

seems pointless calling the function into a variable just to see if its set

//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";
}

As per PHP manual:

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

isset actually test if a variable is set, not if a function returns any value. That is why your code doesn't work.

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

Functions do not have values. Functions may return values. You can't check if a function has a value and if it's set.

Moreover,

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

this portion of code will always return true. The reason for that is that even if WA_FN_Validate_Post would return an empty string, the variable $wa_passwordreset will be considered set and isset check will always return true. To avoid this, you should either check your $_POST like this:

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

Or if it's vital for you to maintain the order and check after WA_FN_Validate_Post, use empty:

$wa_passwordreset = WA_FN_Validate_Post($_POST['wa_passwordreset']);
if(isset($wa_passwordreset) && !empty($wa_passwordreset)) // be extra paranoid!
{
    echo "do some stuff";
}