Maison > développement back-end > tutoriel php > 自定义函数名

自定义函数名

WBOY
Libérer: 2016-06-23 13:52:30
original
988 Les gens l'ont consulté

请问一下,PHP是否支持自定义函数在声明时,函数名称采用变量形式,如何使用?
我试过用
function $a{}
$a = 'test';
test();
?>
提示错误。


回复讨论(解决方案)

你那样是不行的
我这样是可以的

function test() {}$a = 'test';$a();
Copier après la connexion
Copier après la connexion

你那样是不行的
我这样是可以的

function test() {}$a = 'test';$a();
Copier après la connexion
Copier après la connexion



问题是我不是想要这样的效果啊……

我碰到的情况是,可能函数名称不一样,但函数的内容是一样的,但又因为特殊原因
在函数声明时,函数名称未知,只有等到实际调用时,才能确定下来。

你可以通过类来实现(__call)

1.使用eval

$a = 'test';eval("function $a(){ echo 'function name is:'.__FUNCTION__;}");test();
Copier après la connexion


2.使用class 的魔术方法__call
class foo{    public function __call($name, $param){        if($name=='test'){            echo 'test';        }else{            echo 'name not exists';        }    }}$obj = new foo();$a = 'test';$obj->$a();
Copier après la connexion

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal