Получив запрос от MySQL, у меня есть 2 массива: например: Sig: {a, b, c, d, e} T: {1,2 , 3,4,5}Создайте объект json с двумя массивами в PHP
Теперь, в PHP, я хочу объединить эти два массива и иметь такой массив, как: {(a, 1), (b, 2), (c, 3), (d , 4), (e, 5)}, затем покажите его как JSON, чтобы нарисовать диаграмму с помощью API визуализации Google.
Как я могу это сделать?
$data = array();
$data['cols'] = array(
array('id' => 'Sig','label' => 'Sig', 'type' => 'string'),
array('id' => 'T','label' => 'Time', 'type' => 'string')
);
$rows = array();
while($r = mysql_fetch_assoc($result)) {
$temp = array();
//changing the string (data in MySQL) into array of float for column Sig
$csvdata = $r['Sig'];
$a = explode(',', $csvdata);
for($i=0;$i<sizeof($a);$i++)
{
$floa[]=floatval($a[$i]);
}
//changing the string (data in MySQL) into array of float for column T
$csvdata = $r['T'];
$s = explode(',', $csvdata);
for($i=0;$i<sizeof($s);$i++)
{
$flos[]=floatval($s[$i]);
}
function toArr(){
return func_get_args();
}
$c = array_map ('toArr',$floa,$flos);
$temp[] = array('v' => $c);
$rows[]= array('c' => $temp);
}
$data['rows'] = $rows;
echo json_encode($data);
Это выход:
{"cols":[{"id":"Sig","label":"Sig","type":"string"},{"id":"T","label":"Time","type":"string"}],"rows":[{"c":[{"v":[[0,0],[1.2490004e-5,2.0545915e-5],[2.4978768e-5,4.108994e-5],[3.7465044e-5,6.16302e-5]]}]}]}
, но мне нужно, чтобы это было так:
{"cols":[{"id":"Sig","label":"Sig","type":"string"},{"id":"T","label":"Time","type":"string"}],"rows":[{"c":[{"v":0},{"v":0}]},{"c":[{"v":1.2490004e-5},{"v":2.0545915e-5}]},{"c":[{"v":2.4978768e-5},{"v":4.108994e-5}]},{"c":[{"v":3.7465044e-5},{"v":6.16302e-5}]}]}
Ваш желаемый результат недействителен JSON. Это, по-видимому, объект, поскольку он находится в фигурных скобках ('' '' '' ''), но у него нет ключей. Он содержит пары чисел в круглых скобках, что недействительно ни для чего в JSON. Не могли бы вы опубликовать действительный результат цели? –
@MarkReed, я редактировал мой вопрос. – nazanin