Переменная 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?

0

Решение

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

to_js('$project_key');

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

to_js('project_key');

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

4

Другие решения

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

$project_key = 'project 1';

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

to_js($project_key);

Ссылка $$

1

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

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

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

0

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

to_js('$project_key');

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

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

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

Ссылка $$

Увидеть:
https://stackoverflow.com/a/4169891/4977144

0
По вопросам рекламы [email protected]