變數函式

php 支持變數函式的概念。這意味著如果一個變數名後有圓括弧,php 將尋找與變數的值同名的函式,並且將嘗試執行它。除了別的事情以外,這個可以被用於實現回調函式,函式表等等。

簡介,案例,

簡介

變數函式不能用於語言結構,例如 echo()print()unset()isset()empty()include()require() 以及類似的語句。需要使用自己的外殼函式來將這些結構用作變數函式。

案例

例子 17-14. 變數函式示例
<?php
function foo()
{
echo "In foo()<br>/n";
}
function bar($arg = '')
{
echo "In bar(); argument was '$arg'.<br>/n";
}
// This is a wrapper function around echo
function echoit($string)
{
echo $string;
}
$func = 'foo';
$func(); // This calls foo()
$func = 'bar';
$func('test'); // This calls bar()
$func = 'echoit';
$func('test'); // This calls echoit()
?>
還可以利用變數函式的特性來調用一個對象的方法。
例子 17-15. 變數方法範例
<?php
class Foo
{
function Var()
{
$name = 'Bar';
$this->$name(); // This calls the Bar() method
}
function Bar()
{
echo "This is Bar";
}
}
$foo = new Foo();
$funcname = "Var";
$foo->$funcname(); // This calls $foo->Var()
?>

相關詞條

熱門詞條

聯絡我們