我很興奮地閱讀關於anonymous functions在PHP中,它讓你聲明一個變量,功能比你可以做的更容易create_function。現在我想知道如果我有一個函數傳遞一個變量,我該如何檢查它以確定它是否是一個函數?沒有is_function()函數的是,當我做一個變量的的var_dump這是一個功能::php is_function(),以確定一個變量是否是一個函數
$func = function(){
echo 'asdf';
};
var_dump($func);
我得到這個:
object(Closure)#8 (0) { }
如何檢查,如果這有什麼想法是一個函數?
無論您傳入匿名函數,函數名稱作爲字符串還是有效的PHP回調數組,is_callable()都會很好。如果你特別想要檢查匿名函數,那麼你會想要類似Gumbo所說的東西:確保參數是一個對象,並確保它是一個實例閉包。 – Lane 2011-11-03 16:21:15
如果我想檢查它是犢牛還是繩子,併爲它們做不同的事情,該怎麼辦?我不希望字符串值被意外地作爲回調。 – Gherman 2014-08-19 11:26:01
@German首先檢查is_string($ func),然後再用is_callable($ func)檢查 – Heroselohim 2015-01-08 21:48:53