簡體   English   中英

在PHP中使用變量作為函數名

[英]Use a variable as a function name in 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>';
}

......但顯然這不起作用。 但我認為你了解我想要實現的目標。

這樣的事情甚至可能嗎?

任何幫助表示贊賞。

$thing = 'some_function';
$$thing = function() {
   echo 'hi';
};
$some_function();

Source - 使用變量定義PHP函數

您可以簡單地將Anonymous函數傳遞給add_filter函數作為參數:

$newitem = function($message, $form) {
    return "<div class='validation_error'>Failed Validation - " . $form['title'] . '</div>';
};

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM