时间:2021-07-01 10:21:17 帮助过:2人阅读
可变函数不能用于例如 echo , print , unset() , isset() , empty() , include , require 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数。
Example #1 可变函数示例
<?php
function foo () {
echo "In foo()<br />\n" ;
}
function bar ( $arg = '' ) {
echo "In bar(); argument was ' $arg '.<br />\n" ;
}
// 使用 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()
?>也可以用可变函数的语法来调用一个对象的方法。
Example #2 可变方法范例
<?php
class Foo
{
function Variable ()
{
$name = 'Bar' ;
$this -> $name (); // This calls the Bar() method
}
function Bar ()
{
echo "This is Bar" ;
}
}
$foo = new Foo ();
$funcname = "Variable" ;
$foo -> $funcname (); // This calls $foo->Variable()
?>当调用静态方法时,函数调用要比静态属性优先:
Example #3 Variable 方法和静态属性示例
<?php
class Foo
{
static $variable = 'static property' ;
static function Variable ()
{
echo 'Method Variable called' ;
}
}
echo Foo :: $variable ; // This prints 'static property'. It does need a $variable in this scope.
$variable = "Variable" ;
Foo :: $variable (); // This calls $foo->Variable() reading $variable in this scope.
?>以上就是关于php 可变函数的一些示例的详细内容,更多请关注Gxl网其它相关文章!