【问题标题】:PHP print json_encode initial line breakPHP 打印 json_encode 初始换行符
【发布时间】:2014-01-21 18:40:18
【问题描述】:

我正在使用 phpunit 进行一些测试,但遇到了问题

print json_encode($assoc_array);

我有一个关联数组

$assoc_array("username":"xxx");

在 my_function() 我这样打印出来

print json_encode($assoc_array);

然后在我的 phpunit 测试中我断言这个

$output=my_function($assoc_array);
$expected='{"username":"xxx"}';
$this->assertEquals($expected,$output);

断言返回 false 因为 $output 是

$output='
{"username";"xxx"}';

$expected 是

$expected='{"username";"xxx"}';

由于某种原因,当我使用 print json_encode(); 时,我在开头遇到了换行符

我可以在我的所有$expected 值中添加一个换行符,但我真的不想这样做。为什么我要换行?其他人也可以换行吗?

【问题讨论】:

  • echo json_encode($assoc_array);
  • 我没有换行。您确定脚本中没有其他换行符吗?也许你在<?php 之前有一个空行?
  • @KrishR 这有什么不同? echoprint 工作方式相同。
  • 试试print '|' . json_encode($assoc_array);。该行是在| 之前还是之后?
  • @Barmar '|'后面有个换行符

标签: php printing json line-breaks


【解决方案1】:

感谢@Barmar 的帮助。我在控制器中的?> 之后发现了一个换行符。我将从类文件中删除所有?>

【讨论】:

  • 我遇到了同样的问题! uahuahau,不过现在可以了,程序很多类都有这种麻烦!
猜你喜欢
  • 2014-12-29
  • 2011-10-29
  • 1970-01-01
  • 2018-12-03
  • 1970-01-01
  • 1970-01-01
  • 2017-05-01
  • 2019-03-31
相关资源
最近更新 更多