2014-01-21 32 views
1

我使用PHPUnit的做一些测试,我遇到了一个问题,PHP打印json_encode初始行打破

print json_encode($assoc_array); 

我有一个关联数组

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

在创建my_function()我打印出来出这样的

print json_encode($assoc_array); 

然后在我PHPUnit的测试,我坚持这一点

因为$输出

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

和$预期是

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

出于某种原因,我在当我使用开始得到一个换行符

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

断言返回false print json_encode();

我可以只为我的$expected值添加一个换行符,但我真的不想做临时工吨。为什么我得到换行符?任何人都可以获得换行吗?

+0

'echo json_encode($ assoc_array);' –

+1

我没有换行符。你确定在你的脚本中没有其他换行符吗? ''?php'之前可能有空行吗? – Barmar

+0

@KrishR这有什么不同? 'echo'和'print'以同样的方式工作。 – Barmar

回答

1

感谢您的帮助@Barmar。我在控制器中找到?>之后的换行符。我将从类文件中删除所有?>