Php 编码json数组开始处的空白
诚然,我已经有一段时间没有进入php世界了,但我不确定为什么在我的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_
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