我有一些问题,如何将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数组变量的操作,并且该代码不起作用,任何人都可以帮忙吗?
答案 0 :(得分:1)
你需要从一个镜像你想要的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); ?>;
第一个explode命令将字符串拆分为包含每个坐标对的元素数组。
array_map调用拆分数组中的每个元素。
最后,json_encode为javascript赋值正确格式化数据。
因为变量是一个php数组,你想把它作为一个javascript数组
答案 1 :(得分:1)
首先在php端创建一个数组
$coor='-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';
$corar = explode("|", $coor);
然后在javascript方面你可以做
var allcoor = <?php echo json_encode($corar); ?>;