如果函数返回值,则有条件地赋值变量

I've been out of PHP programming for a while, but I'm almost sure I used to be able to write something like the following:

function checkData($data, $moreData) {
    if ($foo != validate($data)) {
        return false;
    }
    if ($bar != validate($moreData)) {
        return false;
    }
    $result = "$foo" . "$bar";
    return $result;
}

...where "$foo" and "$bar" haven't been set yet and where the "validate()" function either returns validated data, or returns false if validation fails.

I can't figure out where I'm going wrong, but that code (and variations of it) is throwing an "Undefined variable" error for $myVar.

What would be the correct syntax for this concept?

I think you meant a little bit different thing. Instead of

if ($foo != validate($data)) {

You've been using this

if (!$foo = validate($data)) {

What is happening there is: 1. Call validate function 2. Assign the result to variable 3. Check if condition for that variable. It's kind of the same as

$foo = validate($data)
if(!$foo)

But as you can understand it's not recommended way of doing the things as it's hard to read and needs explanation(otherwise why do u ask it here, hehe)

PHP has become more strict over the years. You should always instantiate your variables. The following modifications should resolve your "undefined variable" issues:

function checkData($data, $moreData) {
    $foo = $bar = null;
    if (!$foo = validate($data)) {
        return false;
    }
    if (!$bar = validate($moreData)) {
        return false;
    }
    $result = "$foo" . "$bar";
    return $result;
}

It isn't the conditional that is throwing the warning, but where you attempt to assign the non-existent variables to $result. Additionally, your conditionals are checking for comparison rather than assignment.