我正在尝试使用MySql PHP生成以下内容。
原始PHP看起来像这样:
$array['rows'][] = array('c' => array( array(v=>'Concept-1'), array('v'=>3.28),array('v'=>4.28),array('v'=>5.28)) );
$array['rows'][] = array('c' => array( array(v=>'Concept-2'), array('v'=>1.28),array('v'=>1.28),array('v'=>4.28)) );
$array['rows'][] = array('c' => array( array(v=>'Concept-3'), array('v'=>5.68),array('v'=>6.45),array('v'=>1.58)) );
现在我想弄清楚如何动态生成等效代码。
所以我试过(有6行):
for ($i=0; $i<6; $i++){
${"temp$i"} = array();
foreach ($alltheraces as $key => $value){
$t = $alltheraces[$key][$i][1];
array_push(${"temp$i"}, $t);
}
$array['rows'][] = array('c' => array( array(v=>'Concept-'),${"temp$i"}));
}
echo json_encode($array);
但现在的问题是$ temp是一个数组,因此我的Jason输出看起来像这样,'v'缺失了。我之前没有使用过面向对象的PHP,所以在这里搞定了怎么做:(:
rows: [
{
c: [
{
v: "Concept-"
},
[
2.8775,
3.11,
2.91,
1.77,
3.3
]
]
},
答案 0 :(得分:0)
解决。
for ($i=0; $i<6; $i++){
${"temp$i"} = array();
array_push(${"temp$i"}, array(v=>"Concept-$i"));
$st="Concept-$i";
foreach ($alltheraces as $key => $value){
$t = array(v=>$alltheraces[$key][$i][1]);
array_push(${"temp$i"}, $t);
$st .= ",".$alltheraces[$key][$i][1];
}
$array['rows'][] = array('c' => ${"temp$i"});
array_push($data, $st);
}