1

有没有什么好方法可以将 PHP 数组作为 JS 数组传递给我的 JavaScript?

如果有这个 PHP 数组:

array('XYZ' => 1, 'ABC' => 2);

我需要在我的javascript中打印出一些图

var myData = [['XYZ', 1], ['ABC', 2]];

问题:

如果我做 console.log(); 我得到一个对象而不是数组?

我想我必须在应用程序的 JavaScript 部分解析 JSON,还是?是否有任何 JQuery 插件来转换它?

4

4 回答 4

2

如果您想要一个数组作为 json_encode 的结果,则必须将其呈现为非关联数组。

尝试这样的事情:

<?php 
$a=array('XYZ' => 1, 'ABC' => 2);
$r=array();
foreach ($a as $k=>$v)
{
   $r[]=array($k, $v);
}
echo json_encode($r);
于 2012-04-17T15:41:19.703 回答
1

如果你这样做echo json_encode($myArray);,它会回显:

    {
       "XYZ": "1",
       "ABC": "2"
    }

您可以在 js 中使用:

在您的 php 页面上,您可以执行以下操作:

<script>

   var myJson = <?php echo json_encode($myArray) ?>;

   console.log(myJson);

</script>
于 2012-04-17T15:04:49.787 回答
0

您可以json_encode(array)在 php 端使用将 php 数组转换为 json。然后你可以直接把它赋值给一个js变量比如varjsarray = jsonencodedphparray

于 2012-04-17T15:05:36.043 回答
0

Jquery 内置了它。

在 PHP 中 - 以 json 格式回显响应 echo json_encode(arr);

在 javascript - 将 json 解析为一个对象 var obj = $.parseJSON(response)

于 2012-04-17T15:06:18.753 回答