【问题标题】:PHP to Javascript array troublePHP 转 Javascript 数组的麻烦
【发布时间】:2014-03-31 05:22:23
【问题描述】:

所以我有这个代码:

var loc = new Array();
        <?php foreach($loc as $key => $val) { ?>
            loc.push('<?php print_r($val); ?>');
        <?php } ?>

问题是它只显示一个值而不是超过一个,就像它应该的那样。这是php数组代码:

$loc = array($lat, $long);

非常感谢任何帮助。

【问题讨论】:

  • print_r 用于调试。不是为了别的。
  • 你为什么使用print_r()?它仅用于显示数组的格式化版本,not 用于从客户端 服务器传输数据。请改用 JSON 格式,如下面的Niet's answer 所示。

标签: javascript php arrays variables


【解决方案1】:

试试这个:

var loc = <?php echo json_encode($loc); ?>;

您不应使用print_r。让我引用documentation

print_r — 打印关于变量的人类可读信息

请注意我强调的部分。 “人类可读的”。仅仅因为它看起来有点像 JavaScript 可能理解的东西,并不意味着它是;)另一方面,json_encode 专门设计用于输出 JSON,这是 JavaScript 接受的变量语法的子集。

【讨论】:

  • 忍者。 +1 快速(同时正确)。
  • 我认为最好简短解释一下为什么给定的代码不起作用:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-06
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多