ob_start echo的字符串仍然存在

时间:2013-05-01 22:49:32

标签: php ob-start

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

<?php

ob_start();

echo 'test';

$out = ob_get_contents();

var_dump($out);

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

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:7)

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

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

$out = ob_get_clean();