所以我遇到了一个奇怪的问题。我正在尝试显示图表数据,但是必须将数据转换为JSON的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);


这什么也没输出,奇怪的是当我在$ data [] = $ row下添加它时:

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(%)//

最佳答案

这是你的问题

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;
    }
}

09-20 11:00