php - 将php数组变量的值存储到javascript数组变量

标签 php javascript google-maps-api-3

我有一些问题,如何将 php 数组变量的值存储到 javascript 数组变量,因为我想在 javascript 中操作数据 这是我的代码

<?php  
$coor= array('-7.175993,112.650729|-7.17616,112.651139|-7.176591,112.650968|-7.176413,112.650552|-7.176104,112.650437','-7.176331,112.649924|-7.17632,112.650053|-7.176629,112.650048|-7.176629,112.649914');
?>

我想存储从 $coor 到 var allcoor = new Array() 的所有值,我一直在尝试使用 json_encode

<script>
var allcoor=new Array();
allcoor = "<?php foreach ($cobadeh as $t){echo json_encode($t);} ?>";
//for some example of manipulation array variable javascript
mySplitResult = allcoor[0].split("|");
...
</script>

我想要的是操作 javascript 数组变量,但该代码不起作用,有人可以帮忙吗?

最佳答案

您需要从一个反射(reflect)您想要的 javascript 数组的 php 数组开始。然后在该数组上输出 json_encode 的结果。

为此,我假设您需要一个数组数组。

<?php
$coorStr = "-7.175993,112.650729|-7.17616,112.651139|-7.176591,112.650968|-7.176413,112.650552|-7.176104,112.650437','-7.176331,112.649924|-7.17632,112.650053|-7.176629,112.650048|-7.176629,112.649914";
$coor= explode("|",$coorStr);
$coor = array_map(function($a) { return explode(",", $a); }, $coor);
?>
allcoor = <?php echo json_encode($cobadeh); ?>;

第一个爆炸命令将字符串拆分为包含每个坐标对的元素数组。

array_map 调用会拆分数组中的每个元素。

最后,json_encode 正确格式化数据以进行 JavaScript 分配。

因为变量是一个 php 数组,而你希望它作为一个 javascript 数组

关于php - 将php数组变量的值存储到javascript数组变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17646102/

相关文章:

php - PHP语法意外语法错误

javascript - 只有第一个打开引导模式的按钮在 while 循环中起作用

php - centos 6.x 上的 pdo dblib

javascript - ECMAScript 6 : what is WeakSet for?

javascript - 如何在不重复 JavaScript 代码的情况下添加多个图表?

javascript - AngularJS/GoogleMaps(始终隐藏标记)

android - 如何在谷歌地图上关注位置,考虑到 View 在它上面?

用于动态显示来自mysql的10条记录的PHP代码

Javascript 退出页面事件

javascript - 如何拉伸(stretch)谷歌地图API v3中的图标