2012-08-22 68 views
1

我試圖使用call_user_func_array動態調用函數,但是我面臨的問題是,如果函數返回布爾值,則參數變量存儲在數組中,但如果函數返回一個字符串它會正常工作php調用函數動態返回null

call_user_func_array()預計參數1是不包含在 有效的回調,功能 '等於' 未找到或無效的功能 名稱...

$param = array (
    0 => Jill 
    1 => Jack 
); 

echo call_user_func_array("equal", $param); 

function equal($str, $str_2) { 
    if ($str==$str_2) { 
     return true; 
    } else { 
     return false; 
    } 
} 
+0

他們在同一個地方,或包括'equal'嗎? –

+0

在其他地方,但調用返回字符串的函數效果很好。 – meWantToLearn

+0

他的意思是:你包含文件是否包含'equal()'_before_你調用'call_user_func_array()'? – KingCrunch

回答

2

我試過了你的劇本。它正在工作並返回「錯誤」。 只需使用var_dump()而不是echo來測試它。 如果equal()返回數組,則返回數組。對我來說沒有錯誤。

+2

也適用於我,一旦我修復了數組語法問題。 – Barmar