is_callable()函數用於偵測函數在目前環境中是否可呼叫。
is_callable()函數驗證變數的內容能否作為函數呼叫。 這可以檢查包含有效函數名的變量,或者一個數組,包含了正確編碼的物件以及函數名稱。
PHP 版本需求:PHP 4 >= 4.0.6, PHP 5, PHP 7
文法
bool is_callable ( callable $name [, bool $syntax_only = false [, string &$callable_name ]] )
參數說明:
$name:要檢查的回呼函數。
$syntax_only:如果設定為TRUE,這個函數只是驗證name 可能是函數或方法。 它僅僅拒絕非字符,或未包含能用於回調函數的有效結構。有效的應該包含兩個元素,第一個是一個物件或字符,第二個元素是個字符。
$callable_name:接受"可呼叫的名稱"。
傳回值
如果name 可呼叫則傳回TRUE,否則回傳FALSE。 。
實例
實例
<?php //偵測變數是否為可呼叫的函數 function someFunction ( ) { } $functionVariable = ' someFunction ' ; var_dump ( is_callable ( $functionVariable , false , $callable_name ) ) ; // bool(true) echo $callable_name , " n " ; // someFunction // //數組中包含方法// class someClass { function someMethod ( ) { } } $anObject = new someClass ( ) ; $methodVariable = array ( $anObject , ' someMethod ' ) ; var_dump ( is_callable ( $methodVariable , true , $callable_name ) ) ; // bool(true) echo $callable_name , " n " ; // someClass::someMethod ?>輸出結果為:
bool(true)someFunctionbool(true)someClass::someMethod