我正在尝试使用使用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
?
答案 0 :(得分:4)
忽略以下行中$project_key
的前导$:
to_js('$project_key');
应该是:
to_js('project_key');
变量中的$
不是变量名称的一部分,因此在变量变量中引用它时不需要包含它。
答案 1 :(得分:1)
在$
之前删除第一个$variable
符号。如果您使用$$
,project 1
将被视为变量,但未定义为变量。
$project_key = 'project 1';
function to_js($variable) {
echo $variable;
}
to_js($project_key);
答案 2 :(得分:0)
尝试删除以下内容中的引号:
to_js('$project_key');
要像to_js($project_key);
一样to_js('$project_key');
,您可以将函数中的$variable
设置为文本:'$project_key'
。
错误答案!
@ mehedi-pstu2k9答案是正确的
答案 3 :(得分:0)
尝试使用脚本标签回显您的变量。
echo "<script>var x =" . $variable . "</script>";
$variable
- 是你在php中存储的变量
x - 是您希望存储在Javascript中的变量。