2015-10-05 67 views
1

PHP陣列輸出$ color_strjQuery的循環和存儲PHP值到陣列

Array 
(
    [0] => '#4caf50','#00bcd4','#4caf50','#4caf50','#00bcd4' 
    [1] => '#00bcd4','#4caf50','#4caf50','#4caf50','#4caf50' 
    [2] => '#4caf50','#4caf50','#4caf50','#4caf50','#4caf50' 
    [3] => '#4caf50','#4caf50','#4caf50','#4caf50','#4caf50' 
    [4] => '#4caf50','#4caf50','#4caf50','#4caf50','#4caf50' 
    [5] => '#4caf50','#4caf50','#4caf50','#4caf50','#4caf50' 
    [6] => '#4caf50','#4caf50','#4caf50','#4caf50','#4caf50' 
    [7] => '#4caf50','#4caf50','#4caf50','#4caf50','#4caf50' 
) 

JSON編碼

["'#4caf50','#00bcd4','#4caf50','#4caf50','#00bcd4'","'#00bcd4','#4caf50','#4caf50','#4caf50','#4caf50'","'#4caf50','#4caf50','#4caf50','#4caf50','#4caf50'","'#4caf50','#4caf50','#4caf50','#4caf50','#4caf50'","'#4caf50','#4caf50','#4caf50','#4caf50','#4caf50'","'#4caf50','#4caf50','#4caf50','#4caf50','#4caf50'","'#4caf50','#4caf50','#4caf50','#4caf50','#4caf50'","'#4caf50','#4caf50','#4caf50','#4caf50','#4caf50'"] 

$ COLOR_STRING = json_encode($ color_str);

腳本

var options = { 
      width: 1000, 
      height: 300, 
      legend: {position: 'none'}, 
      bar: {groupWidth: '50%'}, 
      isStacked: true, 
      hAxis: {title: "Resource(s)"}, 
      vAxis: {title: "Week(s)"}, 
     colors: resColorsStr(), 
     }; 


function resColorsStr(){ 
    var color_str = []; 
    for(c = 0; c <= 7 ; c++){ 
     color_str = [<?php echo $color_string [c] ?>]; 
     //color_str.push(<?php echo $color_string [c]?>); 

    } 
    console.log(color_str); 
    return color_str; 

} 

我如何循環和存儲陣列的值到color_str,所以對於第一循環color_str = '#4caf50','#00bcd4','#4caf50','#4caf50','#00bcd4',爲第二 color_str = '#00bcd4','#4caf50','#4caf50','#4caf50','#4caf50'

因此,當函數resColorsStr被調用時,它會同樣顯示顏色。

+0

您是否將整個php數組存儲在任何js變量中?由於php是服務器端,您可能需要將整個for循環放在php中,而不是隻使用單個回顯。 – Fredd

+3

只是'json_encode(array([0] =>'#4caf50',...)'並解析它的客戶端 –

+0

@NullPoiиteя請參閱我的更新問題 – Bijal

回答

0

你可以試試這個:

在PHP:

$color_string = json_encode($color_str); 

在javascript中:

json = JSON.parse('<?=$color_string?>'); 

然後在選項變量:

var options = { 
      width: 1000, 
      height: 300, 
      legend: {position: 'none'}, 
      bar: {groupWidth: '50%'}, 
      isStacked: true, 
      hAxis: {title: "Resource(s)"}, 
      vAxis: {title: "Week(s)"}, 
     colors: json, 
     }; 

我還沒有測試它,但它應該RK。

+0

'$ color_string'將會是'[''#4caf50','#00bcd4','#4caf50','#4caf50','#00bcd4'',''## 00bcd4','#4caf50','#4caf50','#4caf50','#4caf50'「]'。使用上面的代碼片段將會拋出異常例如'SyntaxError:illegal character \t var json = JSON.parse('[''#4caf50','#00bcd4','#4caf50','#4caf50','#00bcd4'「,''#0 ...' – Slimshadddyyy