我有一些问题,如何将 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/