class example()
{
function shout($var)
{
echo 'shout'.$var;
}
function whisper($var, $bool)
{
if($bool)
{
echo $var;
}
}
}
$obj = new example();
if($var)
{
$func = $obj->shout();
}else
{
$func = $obj->whisper();
}
Run Code Online (Sandbox Code Playgroud)
我想首先准备函数变量以供以后使用,而不是将条件放在循环中.有可能这样做吗?
您可以按名称调用方法:
if ($var) {
$fn = 'shout';
} else {
$fn = 'whisper';
}
$obj->$fn();
Run Code Online (Sandbox Code Playgroud)
您可以将函数名称放入字符串中:
if($var)
{
$func = 'shout';
}else
{
$func = 'whisper';
}
Run Code Online (Sandbox Code Playgroud)
稍后的:
$obj->$func
Run Code Online (Sandbox Code Playgroud)
您还可以使用回调:
if($var)
{
$func = array($obj, 'shout');
}else
{
$func = array($obj, 'whisper');
}
Run Code Online (Sandbox Code Playgroud)
之后:
call_user_func($func);
Run Code Online (Sandbox Code Playgroud)
或者:
call_user_func_array($func, $args);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4516 次 |
| 最近记录: |