Php 编码json数组开始处的空白

Php 编码json数组开始处的空白,php,Php,诚然,我已经有一段时间没有进入php世界了,但我不确定为什么在我的json_encode字符串的开头有3个空格 " [{"id":"1","display_name":"Bob"}]" 这是我的php: $stmt = $conn->prepare("SELECT * FROM users"); $queryResult = array(); if ($stmt->execute()) { while ($row = $stmt->fetch(PDO::FETCH_

诚然,我已经有一段时间没有进入php世界了,但我不确定为什么在我的
json_encode
字符串的开头有3个空格

"   [{"id":"1","display_name":"Bob"}]"
这是我的php:

$stmt = $conn->prepare("SELECT * FROM users");

$queryResult = array();
if ($stmt->execute()) {
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
      $queryResult[] = $row;
  }
  echo json_encode($queryResult);
}
当我回显
打印时($stmt->fetch(PDO::fetch\u ASSOC))
 我得到以下信息:

   Array
(
    [id] => 1
    [display_name] => Twitch Dock John
)

3个空格也在那里。。我做错了什么(期待一个即将到来的面部手掌时刻)?

您可以通过确定HTTP头的发送位置来确定代码库中输出开始的位置:

if (headers_sent($file, $line)) {
    echo "Ouput starts on: $file: $line\n";
}

通过确定HTTP头的发送位置,您可以在代码库中找到输出开始的位置:

if (headers_sent($file, $line)) {
    echo "Ouput starts on: $file: $line\n";
}


您已经在某个地方输出了这些空间。上下文是什么?您的
在哪里?正如您已经知道的,PDO和JSON都与您的问题无关。即使你让它
echo'helloworld'空格将在那里,只要尝试在if()之前回显一些内容,然后
回显json_encode($queryResult)它将帮助您检查此空间的来源。更新:感谢所有的评论,伙计们,它再次确保一致认为PDO是正确的。我目前正在寻找额外的输出(乐趣)-如果有必要,我会更新。您在输出这些空间的某个地方有其他东西。上下文是什么-您的
在哪里?正如您已经知道的,PDO和JSON都与您的问题无关。即使你让它
echo'helloworld'空格将在那里,只要尝试在if()之前回显一些内容,然后
回显json_encode($queryResult)它将帮助您检查此空间的来源。更新:感谢所有的评论,伙计们,它再次确保一致认为PDO是正确的。我目前正在寻找额外的输出(乐趣)-如果有必要,我会更新。因为这可能不是问题的答案,所以了解它是非常有用的。@LouisLoudogTrottier为什么不是答案?由于脚本的唯一目的是发出JSON,所以之前的任何输出都可能是错误的。这种回答方式超出了我对这个问题的预期。这是非常有用的!它不会修复错误,但会告诉您错误在哪里。但是,这又一次令人敬畏。@LouisLoudogTrottier是的。然后是困难的部分,打开有问题的文件并击打德尔-“这可能不是对这个问题的回答,知道它是非常有用的。”路易斯劳德格特罗蒂埃为什么不回答呢?由于脚本的唯一目的是发出JSON,所以之前的任何输出都可能是错误的。这种回答方式超出了我对这个问题的预期。这是非常有用的!它不会修复错误,但会告诉您错误在哪里。但是,这又一次令人敬畏。@LouisLoudogTrottier是的。然后是困难的部分,打开有问题的文件并击打德尔-P