首頁  >  文章  >  後端開發  >  call_user_func_array呼叫實例

call_user_func_array呼叫實例

巴扎黑
巴扎黑原創
2016-11-23 14:09:011316瀏覽

在你引進某個類文件的情況下,想調用這個類文件的時call_user_func_array函數,下面根據參數不同,貼兩個實例: 

<?php    
$func = function($arg1, $arg2) {    
return $arg1 * $arg2;    
};    
var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.0 */    
?>

將輸出:    

int(8) [1]‍

<?    
Class ClassA    
{    
    
function bc($b, $c) {    
     $bc = $b + $c;    
echo $bc;    
}    
}    
call_user_func_array(array(&#39;ClassA&#39;,&#39;bc&#39;), array("111", "222"));    
    
//显示 333    
?>


第一個參數:類別名,函數。第二個函數:傳入參數 

或許你會這樣問:call_user_func_array這個函數在什麼情況下用?當調用某個函數時,直接new調用就行了,不是多此一舉嗎?

call_user_func_array和new 類別名稱不同的差異在於:all_user_func_array的第一個參數為array('類別名稱','方法名稱')的話,系統會自動為該類別建立物件來直行方法,但卻不會執行__construct建構方法,相當於呼叫靜態方法類別名稱::函數名稱(參數)調用,而new 類別名稱的時候,會先執行建構子。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:php物件介面下一篇:php物件介面