如何动态创建函数?

2022-08-30 22:55:25

我有一个变量,比如$string = "blah";

如何创建以变量值作为名称的函数?这在 PHP 中可能吗?

喜欢什么的,并且能够这样称呼它:function $string($args){ ... }

blah($args);

答案 1

这可能不是一个好主意,但你可以做这样的事情:

$string = "blah";
$args = "args"
$string = 'function ' . $string . "({$args}) { ... }";
eval($string);

答案 2

这听起来不是一个伟大的设计选择,它可能值得重新思考,但是......

如果您使用的是 PHP 5.3,则可以使用匿名函数。

<?php
$functionName = "doStuff";
$$functionName = function($args) {
    // Do stuff
};

$args = array();
$doStuff($args);
?>

推荐