2017-06-13 36 views
0

所以我遇到了一个奇怪的问题。我试图显示图表数据,但必须将我的数据转换为JSON的JSON_ENCODE不会返回任何内容。它之前工作的时间我有更少的数据,但由于某种原因,它不再返回任何东西。json_encode不工作(已)

这里是我的PHP:

$vak = $q->getVakAll(); 

$data = array(); 
foreach($vak as $vak){ 
    $vak = $vak->getCode(); 
    $result = $q->getAanwezigheidVakkenPerJaar($value, $vak); 
    foreach ($result as $row) { 
     $data[] = $row; 
    } 
} 
print json_encode($data); 

这什么也不输出,奇怪的是,当我加入这个在$数据[] = $行:

echo $row['vak']; 
echo $row['percentage']; 

它确实输出的东西,这样的:

Webdevelopment 176Webdevelopment 224Introductie object georiënteerd programmeren75Multimedia & Design59Informatiestromen73Introductie IT Modelleren6 

这就是我想成为输出,但然后JSON编码,有人可以帮助我吗?

编辑:

$vak = $q->getVakAll(); //gets all subjects (like webdevelopment)// 

$result = $q->getAanwezigheidVakkenPerJaar($value, $vak); //this returns all subjects with their corresponding presence (for example, webdevelopment 1 has a total presence of 74(%)// 
+0

'$ q-> getVakAll();'return? – Rimble

+0

@Rimble它返回包含值的所有主题。就像输出中返回的那个一样 – sebas2201

+3

与“foreach($ vak as $ vak)”是否有冲突? – hRdCoder

回答

1

这是你的问题

foreach($vak as $vak) 
    $vak = $vak->getCode(); 

您正在摧毁你的这些命令$vak阵列。

不要在所有地方重复使用$vak变量。试试这个。

$vaks = $q->getVakAll(); 

$data = array(); 
foreach($vaks as $vak){ 
    $code = $vak->getCode(); 
    $result = $q->getAanwezigheidVakkenPerJaar($value, $code); 
    foreach ($result as $row) { 
     $data[] = $row; 
    } 
} 
0

而不是print使用:echo json__encode(array) die;希望这可以帮到你。