簡體   English   中英

告訴函數如何調用

[英]Tell How Function was called

我看過debug_backtrace,但到目前為止,它並沒有滿足我的要求。

我需要知道我正在調用的函數是“被調用”還是“回顯”。 像這樣:

function hello() {
    //blah blah
}

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

但是,如果在“回顯”之后“調用”該函數,則它將執行不同的操作。

我該怎么做?

我很確定這是不可能的。 這樣做不起作用的原因是“ echo”或任何其他運算符,函數或變量賦值使用您已調用函數的返回值 因此,如果您具有以下條件:

echo function1();

發生的情況是function1被執行,並將返回值傳遞給echo。 因此,function1可能無法知道其返回值將被“回顯”,因為到發生這種情況時,function1()已被調用並完成執行。

沒有有效的方法來處理

更新: 沒有辦法解決:)

兩個例子可以幫助您理解。

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


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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM