Функция Php не возвращает значение - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь динамически заполнить значение в форме (форма Gravity), поэтому я использую функцию add filter: add_filter( 'gform_field_value_champp', 'test' ); которые заполняют поле "champp" с возвратом функционального теста, который:

function test ( $fieldname)
{
    return $fieldname ;
}

Но я не знаю почему, ничего не возвращается. Если я сделаю var_dump($fieldname), переменная не будет пустой. Несмотря на то, если я


function test ( $fieldname)
{
    echo var_dump ($fieldname);
    $fieldname = "value";
    return $fieldname ;
}

Значение "value" хорошо возвращается и заполняет форму ...! Так что я не понимаю ...

Спасибо

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

var_dump() является функцией 'void', что означает, что она не возвращает значение в результате вызова функции.И так, когда строка:

   // ...
   echo var_dump($fieldname)
   // ...

Вы пытаетесь echo пустое значение.

Итак, если вы хотите напрямую напечатать переменную, переданную в функции через фильтр, вот как будет выглядеть ваш код:

function test ( $fieldname ) {

    echo $fieldname; // this is print the value of the variable

    $fieldname = "value";

    return $fieldname ;
}
0 голосов
/ 02 мая 2019

В вашем коде нет ничего плохого. Вы просто должны повторить функцию, чтобы увидеть результат, попробуйте это

function test ( $fieldname)
{
    return $fieldname ;
}
echo test("value");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...