PHP 快速導覽 - 變數函數

若是變數 (variable) 的字串 (string) 內容與函數 (function) 名稱相同,該變數就可以加入小括弧當成函數使用,例如

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$func = 'fun1';
$func(); // 這會呼叫 fun1()
 
$func = 'fun2';
$func('test');  // 這會呼叫 fun2()
 
$func = 'fun3';
$func('test');  // 這會呼叫 fun3()
 
function fun1() {
    echo "In fun1()\n";
}
 
function fun2($a = '') {
    echo "In fun2(); argument was '$a'.\n";
}
 
function fun3($s) {
    echo $s;
}
 
/* 《程式語言教學誌》的範例程式
    檔名:fun10.php
    功能:示範 PHP 程式
    作者:張凱慶
    時間:西元 2013 年 2 月 */
?>


此例 $func 先被設定為 'fun1' ,因此 $func() 就是呼叫 fun1()
$func = 'fun1';
$func(); // 這會呼叫 fun1()


接著把 $func 設定為 'fun2' , $func() 變成呼叫 fun2()
$func = 'fun2';
$func('test');  // 這會呼叫 fun2()


最後把 $func 設定為 'fun3' , $func() 就變成呼叫 fun3()
$func = 'fun3';
$func('test');  // 這會呼叫 fun3()


執行結果如下



中英文術語對照
變數variable
字串string
函數function


您可以繼續參考
函數


相關目錄
回 PHP 快速導覽
回 PHP 教材
回首頁


參考資料
http://www.php.net/manual/en/functions.variable-functions.php

沒有留言: