2012-05-15 37 views
-2

我想把我的數據放入Highchart Library中。在那裏顯示示例如下代碼。如何將其作爲數組?

series: [ 
    { 
    name: 'John', 
    data: [5, 3, 4, 7, 2] 
    }, 
    { 
    name: 'Jane', 
    data: [2, 2, 3, 2, 1] 
    }, 
    { 
    name: 'Joe', 
    data: [3, 4, 4, 2, 5] 
    } 
] 

所以我需要它動態地把它作爲動態輸入的數組(來自PHP)。那麼我怎樣才能讓它成爲一個Javascript數組?

要使用,例如:

series: myArray; 

那麼,怎樣才能用我的數組實現它?

var myArray = new Array(); 
and .. ??? 
+6

'系列'已經是一個javascript數組了。你想達到什麼目的? –

+0

@DavidHedlund那麼我如何從PHP動態添加? –

回答

1

可以簡單地使用陣列文字([])如在例如:

var myArray = [ 
    { 
     name: 'John', 
     data: [5, 3, 4, 7, 2] 
    }, 
    { 
     name: 'Jane', 
     data: [2, 2, 3, 2, 1] 
    }, 
    { 
     name: 'Joe', 
     data: [3, 4, 4, 2, 5] 
    } 
]; 

這相當於:

var myArray = []; 
myArray[0] = { name: 'John', data: [5,3,4,7,2] }; 
myArray[1] = { name: 'Jane', data: [2,2,3,2,1] }; 
myArray[2] = { name: 'Joe', data: [3,4,4,3,5] }; 

所以myArray是對象的數組。這些對象有兩個屬性,namedata,其中後者是另一個包含數字的數組。

要將數據從PHP發送到Javascript,您可以使用json_encode()函數從PHP陣列創建JSON。例如,在你的PHP,你可以有這樣的事情:

<?php 

$myArray = array(
    array('name' => 'John', data => array(5,3,4,7,2)), 
    array('name' => 'Jane', data => array(2,2,3,2,1)), 
    array('name' => 'Joe', data => array(3,4,4,3,5)), 
); 

?> 

<script type="text/javascript"> 
var myArray = <?php echo json_encode($myArray); ?> 
</script> 
+0

這與上面的array'serie'相同。我的意思是我只是想從PHP動態添加值。如何用Javascript + PHP實現該數組? –

+1

@ 4lvin增加了一些關於使用JSON的幫助。 – kapa

1

如果源陣列是在PHP,那麼我將它序列化到JSON,並直接使用它作爲一個JS對象:

http://ch2.php.net/json

是這樣的:

var jsData = <?php echo json_encode($your stuff); ?>; 

EDIT:改進的例子

+0

我該如何使用它? –

+0

查看改進的示例。 – ubik

+0

'($你的員工);'是什麼? –

-1

我會強烈推薦JSON。因爲它維護着名稱:值對。

相關問題