无法从php输入数组到javascript

时间:2019-06-11 07:06:28

标签: javascript php json

我有此代码:

<?php $result = array();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$result[] = sprintf("{lat: %s, lng: %s}",$row['lat'],$row['lng']);} ?>

<?php $resultAM = join(', ',$result);
echo $resultAM; ?>

$ resultAM表示此结果(无论如何,我正在使用SQL):

{lat: -7.0476101, lng: 112.7323577}, {lat: -7.0319093, lng: 112.7614287}, {lat: -7.0433001, lng: 112.7606889}, {lat: -7.0459718, lng: 112.7583679}

我将使用以下代码将代码放入javascript中:

var distanceM = [<?php echo json_encode($resultAM); ?>];

但结果不会出现。

有人可以帮助我吗?我是PHP新手。谢谢!

1 个答案:

答案 0 :(得分:3)

PHP 2D数组可以简单地转换为JS个对象数组。例如,我们有一个php数组:

$arr = array('city1' => array('TBILISI' => 'Georgia'), 'city2' => array('LONDON' => 'UK'));

JS中,我们可以简单地写:

let myArr = <?php echo json_encode($arr); ?>;
console.log(myArr); // Console it..

它现在在JS中看起来像这样:

{"city1":
       {"TBILISI": "Georgia"},
"city2": 
       {"LONDON": "UK"}
}