0
A
回答
4
你需要 「變量函數」 這個http://php.net/manual/en/functions.variable-functions.php。
PHP支持變量函數的概念。這意味着如果一個 變量名帶有括號,PHP將尋找一個名稱與 相同的函數,並且 將嘗試執行它。除此之外,這可用於實現回調函數表,函數表等等。
見這個例子:http://3v4l.org/sGLtj
function my_function_0() { echo "0"; }
function my_function_1() { echo "1"; }
function my_function_2() { echo "2"; }
function my_function_3() { echo "3"; }
for($i=0;$i<4;$i++)
{
$calling = 'my_function_'.$i;
$calling(); // by adding parentheses, a function with the same name with $calling's value will be called
}
這將調用的功能,在輸出0123
但要記住的是:
有效的函數名以a開頭字母或下劃線,然後是 任意數量的字母,數字或下劃線。
所以,你可以有函數名多少,只要函數名不以數字開頭。
0
要調用一個函數,將其名稱作爲字符串生成,請使用call_user_func
函數,將生成的字符串作爲其第一個參數傳遞。
例
function function0(){echo "Function 0\n";}
function function1(){echo "Function 1\n";}
function function2(){echo "Function 2\n";}
for($i = 0; $i < 3; ++$i){
call_user_func('function' . $i);
}
你到底想幹什麼? – 2014-11-01 08:23:23