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);
}
相關問題
- 1. 類名稱作爲參數不帶引號的函數
- 2. 帶有寶石名稱的型號
- 3. 帶有括號的ColdFusion變量名稱
- 4. 帶名稱參數的函數文字
- 5. 在Java中帶有編號名稱的屬性更改
- 6. 在matlab目錄中刪除帶有編號名稱的文件
- 7. 帶符號字符的函數名稱使搜索困難
- 8. 帶iOS名稱的撥號號碼
- 9. 如何使用ORACLE中的INSTR函數搜索帶撇號的所有名稱?
- 10. 不帶窗口函數的行編號
- 11. 參數的名稱和編號
- 12. 在qplot中使用帶有數據幀符號的列名稱
- 13. 定義帶有文本字段的函數名稱
- 14. Javascript會返回一個帶有函數名稱的json?
- 15. 在函數中使用帶有已創建名稱的變量
- 16. 從構造函數創建的對象返回帶構造函數名稱的對象,但沒有冒號
- 17. 帶有變量名稱數組的array_map
- 18. 帶有長名稱的類
- 19. 帶括號的Eval列名稱
- 20. 重命名文件的名稱編號
- 21. 名稱後面帶有數字的名稱(正則表達式)
- 22. 帶有n個括號的js函數
- 23. JavaScript的隨機編號帶有小數
- 24. 函數名稱前的星號函數是什麼?
- 25. 使用R中名稱中帶星號的方法訪問函數的代碼
- 26. 函數名稱$
- 27. attr_reader有問號的名稱
- 28. 是否有從函數返回匿名函數的名稱?
- 29. 帶括號的str.replace函數
- 30. 編譯器更改函數名稱
你到底想幹什麼? – 2014-11-01 08:23:23