告诉如何调用函数

时间:2011-01-23 21:47:35

标签: php debugging function backtrace

我看过debug_backtrace,但到目前为止它没有做我需要它做的事情。

我需要知道我正在调用的函数是“被调用”还是“回显”。像这样:

function hello() {
    //blah blah
}

echo hello(); //echo-ed
hello(); //'called'

但是,如果'echo'ed'被'调用',那么该函数会做不同的事情。

我该怎么做?

3 个答案:

答案 0 :(得分:5)

我很确定这是不可能的。这不起作用的原因是“echo”或任何其他运算符,函数或变量赋值使用您调用的函数的返回值。所以,如果你有以下内容:

echo function1();

会发生什么,执行function1,并将返回值传递给echo。因此,function1不可能知道它的返回值将是“echo-ed”,因为在发生的时候,function1()已经被调用并且已经完成执行。

答案 1 :(得分:1)

没有有效的方法来处理它

<强>更新没有方式来处理它:)

答案 2 :(得分:0)

两个例子可以帮助您理解。

function hello(){
  return "Hello!";
}
echo hello(); // prints Hello!


function hello(){
  echo "Hello!";
}
hello(); // prints Hello!