PHP 使用“$”引用时变量不起作用

PHP variable not working when referenced with '$'

我正在尝试使用一个使用 variable variables 的小辅助函数将 PHP 变量转换为 JS 变量。为简化起见,以下是我要完成的工作:

 $project_key = 'project 1';

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

 to_js('$project_key');

这应该只是打印

project 1

相反我得到

Undefined variable: $project_key

这告诉我变量被定位但不能从函数访问。如果仅提供字符串 $project_key?

,如何从函数内部访问全局变量 $project_key

在以下行中省略 $project_key 的前导 $:

to_js('$project_key');

应该是:

to_js('project_key');

变量中的$不是变量名的一部分,因此在变量变量中引用它时不需要包含它。

尝试删除引号:

to_js('$project_key');


要成为 to_js($project_key); 就好像您将它用作 to_js('$project_key'); 然后您将函数中的 $variable 设置为文本:'$project_key'

错误答案!

@mehedi-pstu2k9 答案正确

Reference of $$


参见:

删除 $variable 之前的第一个 $ 符号。如果您使用 $$,则 project 1 将被视为变量,但未定义为变量。

$project_key = 'project 1';

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

to_js($project_key);

Reference of $$

尝试用周围的脚本标记来回显您的变量。

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

$variable - 作为您存储在 php 中的变量 x - 是您要存储在 Javascript.

中的变量