0

i have some problem, how to store value of php array variable to javascript array variable because i want to manipulate data in javascript here's my code

<?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');
?>

And i want to store all the values from $coor to var allcoor = new Array(), what i've been trying is use 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>

What I want is manipulation of javascript array variable, and that code didn't work, can anyone help?

4

2 回答 2

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 数组

于 2013-07-15T02:58:10.783 回答
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); ?>;
于 2013-07-15T03:00:10.293 回答