我有一个这种类型的php数组
[0] => Array ( [id] => 22 [lat] => 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>
答案 0 :(得分:0)
我不确定你的addMarkers()函数是做什么的,但这可能有效:
<body onload="addMarkers(<?php echo implode(', ', $myArray); ?>)">
答案 1 :(得分:0)
<?php echo json_encode($myArray) ?>
应该工作得很好。打开一个开发控制台,看看JS解释器对输出代码的看法。
答案 2 :(得分:0)
你试过的第一个选项在任何情况下都不会工作。但是第二个选项有效并将json对象传递给你的函数
addMarkers(<?php echo json_encode($myArray) ?>)
如果这不起作用,则错误将归因于addMarkers
函数不期望json对象作为其参数的原因。您可以在firebug控制台中看到此错误说明。您还可以检查函数定义以找出预期的参数。