dousong5161
2015-11-17 06:58
浏览 57
已采纳

将PHP数组传递给JavaScript的问题

I understand that the format for passing a PHP array to Javascript is:

<script type="text/javascript">
    var obj = <?php echo json_encode($php_variable); ?>;
</script>

I have a php function that stores some values in a longitude and latitude array. These array do hold the right values within php since print_r() within php shows me that the array is correct.

print_r($latitude_array);
print_r($longitude_array);

Now, I pass on this array to JS in this manner:

<script>
var lati_array = "<?php echo json_encode($latitude_array); ?>";
var longi_array = "<?php echo json_encode($longitude_array); ?>";
alert(lati_array[0]);
</script>

In the beginning, when I open the HTML file, it shows me an empty array (which is expected because the PHP arrays aren't filled yet). Then user enters something, the php arrays are filled up with longitudes and latitudes. These values should now be passed to JS. However, it doesn't alert anything after that. I can't be sure if array is successfully passed to JS. What am I missing?

图片转代码服务由CSDN问答提供 功能建议

我知道将PHP数组传递给Javascript的格式为:

 &lt; script type =“text / javascript”&gt; 
 var obj =&lt;?php echo json_encode($ php_variable);  ?&gt ;; 
&lt; / script&gt; 
   
 
 

我有一个php函数,可以在经度和纬度数组中存储一些值。 这些数组确实在php中保存了正确的值,因为php中的print_r()告诉我数组是正确的。

  print_r($ latitude_array); 
print_r($ longitude_array);  
   
 
 

现在,我以这种方式将此数组传递给JS:

 &lt; script&gt; 
var  lati_array =“&lt;?php echo json_encode($ latitude_array);?&gt;”; 
var longi_array =“&lt;?php echo json_encode($ longitude_array);?&gt;”; 
alert(lati_array [0]); \  n&lt; / script&gt; 
   
 
 

一开始,当我打开HTML文件时,它会显示一个空数组(这是因为PHP数组不是 填补了)。 然后用户输入内容,php数组充满了经度和纬度。 现在应该将这些值传递给JS。 但是,在此之后它不会发出任何警报。 我不能确定数组是否成功传递给JS。 我错过了什么?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

  • dongming8867 2015-11-17 07:02
    最佳回答

    Try this:

    <script>
        var data = <?php echo json_encode( $data ); ?>;
    </script>
    
    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题