【问题标题】:json_encode is not working (anymore)json_encode 不工作(不再)
【发布时间】:2017-11-15 12:46:26
【问题描述】:

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

【问题讨论】:

  • $q->getVakAll(); 返回什么?
  • @Rimble 它返回所有包含值的主题。就像在输出中返回的那些
  • 与“foreach ($vak as $vak)”有冲突吗?
  • @sebas2201 是的,我知道它会返回一些东西,但是究竟数组是如何构建的,$q->getAanwezigheidVakkenPerJaar($value, $vak); 返回什么?我们根本不知道这些函数的作用。
  • @Lal 我们到了某个地方,收到此错误:'格式错误的 UTF-8 字符,可能编码不正确'

标签: php html mysql json chart.js


【解决方案1】:

而不是print 使用:echo json__encode(array) die; 希望对您有所帮助。

【讨论】:

    【解决方案2】:

    这是你的问题

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      • 2018-06-10
      • 1970-01-01
      • 2013-03-16
      • 2012-04-11
      • 2018-06-01
      • 2016-11-10
      相关资源
      最近更新 更多