PHP函数以变量的值命名

时间:2012-07-07 12:08:20

标签: php html function variables

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

$title

这里的一些代码......

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

所以......那是我的问题。我不确定什么会干净地执行$ output,所以它可以显示在页面上。而且我不知道该函数是否会以function $title ($output) { //Some Code Here to execute $output... }

的值命名

感谢您的帮助!

Ethan Brouwer

2 个答案:

答案 0 :(得分:2)

您可以像这样使用call_user_func

call_user_func($title, $output);

但更改一个功能的名称真的很奇怪。

答案 1 :(得分: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);