ob_start回声的字符串仍然

问题描述:

我喜欢它,如果ob_start()没有让回声的输出到他们的正常目的地,而只是记录他们的内容。但似乎没有这样做。有任何想法吗?这里是我的代码:ob_start回声的字符串仍然

<?php 

ob_start(); 

echo 'test'; 

$out = ob_get_contents(); 

var_dump($out); 

测试仍然是echo'd。它也是var_dump,但我不希望它被echo'd。

任何想法?

谢谢!

输出缓冲区在脚本结束时自动刷新,因此它是预期的行为。

您正在寻找ob_get_clean(),它清除之前返回当前缓冲区:

$out = ob_get_clean();