为什么 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";
}
这种行为在其他编程语言中也很常见。您可以按照本教程了解有关函数的更多信息。祝你好运!
我是 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";
}
这种行为在其他编程语言中也很常见。您可以按照本教程了解有关函数的更多信息。祝你好运!