0

我有一个 PHP 函数,我需要创建它来执行存储在变量中的 PHP 或 HTML 代码。这是一个问题。另一个问题是该函数将被创建多次并且需要一个唯一的名称,所以我以它的名字命名了它,$title但我不确定这是否会从值创建函数$title或者它是否会创建一个名为的函数$title或者如果它不起作用。这是我的代码:

$title = $_POST['sogo_aso_name'];
$output = $_POST['sogo_aso_output'];

这里有一些代码...

function $title ($output)
{
    //Some Code Here to execute $output...
}

所以...这是我的问题。我不确定什么会干净地执行 $output 以便它可以显示在页面上。而且我不知道函数是否会以的值命名$title

谢谢你的帮助!

伊桑·布劳威尔

4

2 回答 2

2

你可以call_user_func这样使用:

call_user_func($title, $output);

但是更改一个函数的名称真的很奇怪。

于 2012-07-07T12:16:51.310 回答
0

不幸的是,您尝试做的事情是不可能的。如果您需要一个通用名称来为您的函数添加前缀,您可以创建命名空间。

namespace fArr {
    function func1 (args) {}
    function func2 (args) {}
}

要调用它们,您可以使用:

namespace {
    fArr\func1($title, $output);
}

通常,您希望避免创建完全匿名的函数。也许创建一个处理所有请求的标题和输出的函数。或者,使用 func 名称作为属性创建一个新对象,并将输出分配给它。

$title  = $_POST['sogo_aso_name'];
$output = $_POST['sogo_aso_output'];

// Store data in an object named after the value of $title
// Note that constant use of this can get very messy, and very confusing
$$title = (object) array('output' => $output);
于 2012-07-07T12:30:12.637 回答