-5
我有一个名为$usershours
的php变量,它包含一个数组,我想在Javascript代码中回显它。我怎么做?在Javascript代码中显示PHP数组变量
我想这一点,但没有奏效:
$usershours = "
data.addRow([ new Date(2012,4,1),50119]).+'<br>+'.
data.addRow([ new Date(2012,4,2),242575])";
<script type="text/javascript">
document.write($arrayholder);
</script>
我所要的输出是这样的:
data.addRow([ new Date(2012,4,1),50119])
data.addRow([ new Date(2012,4,2),242575])
PS - 我需要这个格式,因为这是格式Google图表API接受以正确呈现图表。
PHP正在服务器上执行并发送浏览器HTML和JavaScript。你在哪里期待这发生? – databyss
将它包装在'
只需使用
var arrayholder = <?php json_encode($usershours);?>;
如果arrayholder
有输出为字符串(而不是代码)来源
2012-08-22 02:11:52 Cranio
分号不需要我ñ只要你避免了一些模糊的语法陷阱。 –
1.和2.分别是无关和错误的。 – meagar
** @ Dan Grossman:**据我所知,只有表达式需要分号';(...)','; [...]和'; /.../',还有' “严格使用”;'出于某种原因。 – elclanrs
一般建议:不要尝试从PHP呈现有效的JavaScript。它最终会咬你,一些可替代的解决方案:在一个HTML元素嵌入数据,并通过JavaScript和Ajax提取它
话虽如此
是我如何做到这一点,当我确定与拍摄我自己在脚下
来源
2012-08-22 02:22:00
通过咬你我的意思是在你的JavaScript中出现一个意外的错误,由于你无法控制的某些配置。 –
为什么要将数据嵌入到HTML元素中,只需在js中回显就可以了? – jeroen
这是一个强加给自己的非常武断的规则,也与这个问题非常不相干。 – meagar
尽管用JS搞乱PHP并不是一个最佳的方法,但它也会让你的代码更加整洁。
让我们假设你的数据来自一个阵列,以组成[从数据库或文件获取]:
通过
json_encode($data)
你会得到这样的输出:现在你知道如何将你的数据从一个PHP结构转换成一个Javascript结构,这只是一个写作问题:
当然,
data.addRow()
是在你的JS代码中声明的某个函数。来源
2012-08-22 02:30:04 moonwave99