2012-04-17 92 views
1

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

,如果有这样的PHP数组:

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

,我需要在我的javascript,打印出一些地块

问题:

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

我想我必须在应用程序的JavaScript部分解析JSON或?有没有任何JQuery插件来转换?

回答

2

尝试是这样的:

<?php 
$a=array('XYZ' => 1, 'ABC' => 2); 
$r=array(); 
foreach ($a as $k=>$v) 
{ 
    $r[]=array($k, $v); 
} 
echo json_encode($r); 
+0

那就是它!谢谢 – opHASnoNAME 2012-04-17 16:42:52

1

如果你这样做echo json_encode($myArray);将回声出:

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

,你可以在JS使用:

在你的PHP页面,你可以这样做:

<script> 

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

    console.log(myJson); 

</script> 
+0

谢谢,但执行console.log说“对象”至极是好的,但我需要这个[[]]数组格式的插件。 – opHASnoNAME 2012-04-17 15:14:45

+0

你应该添加一个分号:echo json_encode($ myArray); – Xylol 2015-10-07 08:28:23

+1

不需要@Xylol – Neal 2015-10-08 14:48:35

0

可以使用json_encode(array)在PHP端将php数组转换为json。然后你就可以直接在PHP分配到一个js变量VAR一样jsarray = jsonencodedphparray

0

jQuery有它建于

- Echo在JSON格式回声json_encode(ARR)的响应。

在JavaScript - 如果要数组作为你必须将其作为非缔合阵列json_encode的结果解析JSON到对象OBJ变种= $ .parseJSON(响应)

+0

不需要'parseJSON' .... – Neal 2012-04-17 15:06:39