jQuery循环并将PHP值存储到数组中

时间:2015-10-05 12:02:56

标签: javascript php jquery arrays google-visualization

PHP数组输出$ color_str

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

因此,当调用函数"public function getProductAttributes($product_id) {", 时,它同样会显示颜色。

1 个答案:

答案 0 :(得分: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,
        };

我没有对它进行测试,但它应该有效。