Переменная PHP не работает, когда на нее ссылается '$'

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

 $project_key = 'project 1';

 function to_js($variable) {
     echo $$variable;
 }

 to_js('$project_key');

это предполагается просто напечатать

project 1

вместо этого я получаю

Undefined variable: $project_key

который говорит мне, что переменная является целевой, но недоступна из функции. Как я могу получить доступ к глобальному var $project_key изнутри функции, если поставляется только со строкой $project_key?

4 ответа

Решение

Опустить ведущий $ от $project_key в следующей строке:

to_js('$project_key');

Так должно быть:

to_js('project_key');

$ в переменной не является частью имени переменной, поэтому вам не нужно включать его при ссылке на него в переменной переменной.

Сначала удалить $ подписать перед $variable, Если вы используете $$ project 1 будет рассматриваться как переменная, но она не определена как переменная.

$project_key = 'project 1';

function to_js($variable) {
    echo $variable;
}

to_js($project_key);

Ссылка $$

Попробуйте повторить вашу переменную с тегами скрипта вокруг нее.

echo "<script>var x =" . $variable . "</script>";

$variable - переменная, которую вы сохранили в php x - переменная, которую вы хотите сохранить в Javascript.

Попробуйте удалить цитаты в:

to_js('$project_key');


Быть to_js($project_key); как будто вы используете его как to_js('$project_key'); тогда вы устанавливаете $variable в функции к тексту: '$project_key',

Неправильный ответ!

@ mehedi-pstu2k9 ответ правильный

Ссылка $$


Увидеть:
/questions/40804578/chto-takoe-v-php/40804598#40804598

Другие вопросы по тегам