猿问

在 PHP 中使用变量作为函数名

我正在 WordPress 中创建一个动态函数,需要我动态创建函数名称。


在这种情况下,我需要为这个gravityforms代码生成一个唯一的函数名称:


add_filter( 'gform_validation_message', 'change_message', 10, 2 );

function change_message( $message, $form ) {

    return "<div class='validation_error'>Failed Validation - " . $form['title'] . '</div>';

}

所以,我有一个变量(它会不时改变),我想用于我的函数名称......


$newitem = 'new_item';

......并尝试了这个......


add_filter( 'gform_validation_message', $newitem, 10, 2 );

function $newitem( $message, $form ) {

    return "<div class='validation_error'>Failed Validation - " . $form['title'] . '</div>';

}

...但显然这不起作用。但我想你明白我想要达到的目标。


这样的事情甚至可能吗?


任何帮助表示赞赏。


富国沪深
浏览 385回答 2
2回答

梦里花落0921

您可以简单地将匿名函数作为参数传递给 add_filter 函数:$newitem = function($message, $form) {&nbsp; &nbsp; return "<div class='validation_error'>Failed Validation - " . $form['title'] . '</div>';};add_filter('gform_validation_message', $newitem, 10, 2);

隔江千里

$thing = 'some_function';$$thing = function() {&nbsp; &nbsp;echo 'hi';};$some_function();
随时随地看视频慕课网APP
我要回答