我有以下要编码为jSon的数组:
if ( isset($_POST['shift'])) {
$ShiftSelected = intval($_POST['shift']);
} elseif ($_POST['shift'] == 'B') {
$ShiftSelected = 1;
} else {
$ShiftSelected = 0;
}
$(function() {
$(".table-row").click(function() {
$("#form").attr('action', '?action=HS');
$("#selectDate").val($(this).data("date"));
$("#selectShift").val($(this).data("shift"));
$("#form").submit();
});
});
array(4) {
["workcenter"]=> string(1) "0"
["Week"]=> string(2) "38"
["date"]=> string(10) "16-09-2016"
["shift"]=>string(1) "B"
}
我正在使用以下方法进行编码:
$output = array("success" =>0,"msg" => "The e-mail address is already in use");
结果我得到以下字符串:
echo json_encode($output);
我看起来很完美,但我最后还有一个额外的空格,因此阻止我使用jSon字符串。谁能帮助我如何从最后删除这个空格?
答案 0 :(得分:0)
可能在结束PHP标记后有一些内容。举个例子:
<?php
$output = array("success" =>0,"msg" => "The e-mail address is already in use");
echo json_encode($output);
?>
\n
现在我无法在代码块中表示新行,但假设\n
是一行返回。现在在PHP标记之后它将回显json,然后在PHP标记之后它回显任何内容,例如新行。但是,您可以删除结束标记。对于open标记也是如此,并且同样会输出任何内容,但如果它位于文件的顶部则更容易发现。
或者至少这是我最好的猜测,如果你有{...}\n
作为你的json输出。
这是一个非常容易犯的错误,很难发现。这可能看起来很奇怪,但确实会发生这种情况。