何时在PHP中调用变量中的函数?

时间:2013-06-15 23:28:45

标签: php function variables

这里没有问题,但这一直是我的想法,我无法在任何地方找到答案。如果我有一个用函数填充的变量,那么只有在引用该变量时才调用该函数?以下是示例:

function foo(){

    $foo = "Foo";
    return $foo;

}

$foo = foo();

echo $foo;

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

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

2 个答案:

答案 0 :(得分:4)

创建变量时会调用该函数。

创建变量时,会对其内容进行评估和记忆。

这是我能解释过程的最佳方法:)

答案 1 :(得分:1)

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

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

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