有谁知道我如何编写一个函数,该函数能够使用变量的内容作为其名称来创建其他函数?
这是我在 php 中讨论的一个基本示例:
function nodefunctioncreator()
{
for ($i =1, $i < 10, $i++)
{
$newfunctionname = "Node".$i;
function $newfunctionname()
{
//code for each of the functions
}
}
}
有人知道一种语言可以让我做到这一点吗?
您可以使用 PHP 创建匿名函数create_function() http://de.php.net/create_function。您可以将每个匿名函数分配给一个变量$newfunctionname
并使用执行它call_user_func() http://de.php.net/call_user_func:
$newfunctionname = "Node".$i;
$$newfunctionname = create_function('$input', 'echo $input;');
// Creates variables named Node1, Node2, Node3..... containing the function
我认为这是您可以在 PHP 中获得的最接近的方式,而且看起来不像是完全的 hack。
我认为不可能直接从变量定义函数。对我来说这样做也不好看,因为你会用这些函数污染命名空间。如果匿名函数不起作用,则需要采用面向对象的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)