如何从后端获取数据到2维数组并将数组发送到javascript数组并显示

时间:2017-06-02 06:44:16

标签: javascript php

我想在javascript中将我的数据从后端显示为指定的格式。 我从后端获取数据但是echo json_encode($ myarry)没有显示我的数据

        $query = "SELECT * FROM LOCATIONS";
        $result= mysql_query($query);
        while($row = mysql_fetch_assoc($result))
        { 

                    $latitude = (string)$row['latitude'];
                    $longitude = (string)$row['longitude'];

                    $myarry[] = "[$latitude,$longitude]";


        }
echo json_encode($myarry)
        <script type="text/javascript">
        var locations[] = <?php echo json_encode($myarry); ?>;
        </script>

我希望我的数据在javascript中显示如下

var locations = [[17.02416,81.01261],[17.59704,81.08400],[17.07989,81.08090],[16.58028,81.40142],[16.9514482,81.6921825];

3 个答案:

答案 0 :(得分:0)

请勿在{{1​​}}

上再次json_encode()
$myArray

只需 echo json_encode($myarry) <script type="text/javascript"> var locations = <?php echo $myarry; ?>; localtions = JSON.parse(locations); JSON,它就是javascript中的数组。

答案 1 :(得分:0)

在你的php文件中修改如下:

parse

答案 2 :(得分:0)

试试这个为您制作的示例,按预期工作。 http://sandbox.onlinephpfunctions.com/code/09b2c810d4560768bbc19d21909fbe14e5eedfc2

对于您的示例代码,它将是:

    $query = "SELECT * FROM LOCATIONS";
    $result= mysql_query($query);
    while($row = mysql_fetch_assoc($result))
    { 

                $latitude = (float)$row['latitude'];
                $longitude = (float)$row['longitude'];

                $myarry[] = [$latitude,$longitude];


    }
    echo json_encode($myarry)
    <script type="text/javascript">
    var locations[] = <?php echo json_encode($myarry); ?>;