为什么 foo() 函数在未被调用时执行?

Why is the foo() function executed while not having been called?

我是 PHP 的新手所以请原谅我的问题很简单,以防万一, 我有一个函数 foo() 总是 returns 为真,现在我的问题是虽然我只检查了 true 是否属于 foo() 而没有调用 foo()直接函数,怎么可能执行呢? 并且只是PHP这样还是和JavaScript中说的一样?

 $x = 10;
function foo() {
    global $x;
    if($x = 10) {
        return true;
    }
    return false;
}

if(foo()) {
    echo 'Done foo() function!';
} else {
    echo 'Not done foo() function...';
}

您确实在 if(foo()) 这一行中调用了 foo。本质上,您在这一行中所做的称为 foo,并使用 if 检查其 return 值。如果你想检查 foo 函数是否被执行,你可以保留一个标志作为全局变量,并在函数中的某个地方将其设置为 true 像这样

$foo_executed = false;
function foo (){
    global $foo_executed;
    // your code here
    $foo_executed = true;
}

//execute foo
foo();
if ($foo_executed){
   echo "foo executed";
}

这种行为在其他编程语言中也很常见。您可以按照本教程了解有关函数的更多信息。祝你好运!

https://www.youtube.com/watch?v=HvxQww-7NGA