codeigniter を使用してアプリを設計し、配列を動的に生成してビューにプッシュしています。単純に思えますが、いくつか問題がありました。
私のモデル関数では、次のように配列を生成します:
foreach ($Q->result_array() as $row)
{
$data[]=array(
'label'=>$row['students'],
'data'=>$row['marks']
);
}
次に、$data を返します
私の見解では、ここに示すように json_decode を使用します
<script>
data = <?php echo json_encode($lang);?>;
data=trim("label", '"');
//alert(data);
$.plot($("#graph4"), data,
{
series: {
pie: {
show: true,
radius: 1,
label: {
show: true,
radius: 3/4,
formatter: function(label, series){
return '<div style="font-size:8pt;text-align:center;padding:2px;color:white;">'+label+'<br/>'+Math.round(series.percent)+'%</div>';
},
background: {
opacity: 0.5,
color: '#000'
}
}
},
legend: {
show: false
}
});
</script>
しかし、生成された json は、flotcharts ライブラリと互換性がありません。
[{label:"Mark",data:1},{label:"Jenny",data:1}]
私は持っている
[{"label":"Mark","data":"1"},{"label":"Jenny","data":"1"}]
二重引用符を削除して、データではなくラベルにのみ適用できるようにするにはどうすればよいですか
どんな助けでも大歓迎です、
ありがとう
更新:
この問題に直面する人のために、正規表現で問題を解決しました
echo preg_replace('/"([^"]+)"\s*:\s*/', '$1:',json_encode($lang));