0

这里没有问题,但这一直在我脑海中,我无法在任何地方找到答案。如果我有一个用函数填充的变量,该函数是否仅在引用该变量时才被调用?这是和示例:

function foo(){

    $foo = "Foo";
    return $foo;

}

$foo = foo();

echo $foo;

在该示例中,我$foo使用echo. 如果我不引用该变量foo()仍会被调用?

我想这并不重要,我只是想知道。

4

2 回答 2

4

创建变量时调用该函数。

当一个变量被创建时,它的内容被评估和记忆。

这是我能解释的最好的过程:)

于 2013-06-15T23:29:32.100 回答
1

PHP 解析完整的源代码,检查语法错误,然后将脚本的标记化形式生成到内存中。然后在执行阶段对其进行解释。令牌的值是字节码/操作码值,表示在处理线程的生命周期内要执行的操作。

  • $foo - 在您的示例中,内存中有 2 个独立$foo变量(不一样),$foo在您的函数中和$foo函数范围之外都有对 的引用。

  • foo() - foo 函数在线程循环命中时被调用,$foo = foo();foo 函数的操作码在脚本初始化时被加载到内存中。

于 2013-06-15T23:57:06.823 回答