0

我有一个这种类型的 php 数组

[0] => 数组
        (
            [id] => 22
            [纬度] => 40.8434169
            [lng] => 11.409390199999962
        )

我希望将它传递给 body-onload 中的 js 文件。

我尝试了这些方法:

1) <body onload="addMarkers(<?php print_r($myArray) ?>)">
2) <body onload="addMarkers(<?php echo json_encode($myArray) ?>)">

但没有成功

编辑:我以这种方式解决了

<script type="text/javascript">
    var myJsArray = <?php echo json_encode($myArray) ?>;
</script>
4

3 回答 3

0

您尝试的第一个选项在任何情况下都不起作用。但是第二个选项是有效的并将一个 json 对象传递给您的函数

addMarkers(<?php echo json_encode($myArray) ?>)

如果这不起作用,错误将是由于addMarkers函数不期望 json 对象作为其参数的原因。您可以在 firebug 控制台中看到此错误描述。您还可以检查函数定义以找出预期的参数。

于 2013-08-23T18:20:28.683 回答
0

我不确定您的 addMarkers() 函数是做什么的,但这可能有效:

<body onload="addMarkers(<?php echo implode(', ', $myArray); ?>)">
于 2013-08-23T18:17:15.403 回答
0
<?php echo json_encode($myArray) ?>

应该工作得很好。打开开发控制台,查看 JS 解释器对输出代码的说明。

于 2013-08-23T18:17:59.187 回答