call_user_func_array呼叫實例

巴扎黑
發布: 2016-11-23 14:09:01
原創
1324 人瀏覽過

在你引進某個類文件的情況下,想調用這個類文件的時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 類別名稱的時候,會先執行建構子。


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板