call_user_func_array 應用場景分析
阿新 • • 發佈:2020-12-12
技術標籤:php
1. 場景一
a、你要呼叫的函式名是未知的
b、要呼叫函式的引數型別及個數也是未知的
定時任務類需要定時執行一個函式,則介面就可以類似這樣設計:
/** * 在$run_time時刻執行$call_back */ function task_add($run_time, $call_back, $param_arr){ while(1){ if(time()>=$run_time){ call_user_func_array($call_back, $param_arr); return; } sleep(1); } }
$call_back和$param_arr是使用者傳遞的,可以是任意函式任意引數。這種場景下很難直接呼叫函式,使用call_user_func_array就非常方便。