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