ob_get_clean和ob_get_flush之间的区别

他们似乎都做同样的事情:返回输出缓冲区内容给你,并删除它后面。

我应该使用哪一个?

要直接尝试回答你的问题:

如果您希望在刷新缓冲区后再次开始输出缓冲,那么使用ob_get_clean作为输出缓冲将仍然准备好,而不必重新打开。 (请记住,只有在没有文本的情况下才可以使用,即使是空格也是回显给浏览器)。 因此,对于更一般的用途,我所有的编程书籍都会碰到ob_get_flush(因为大多数脚本只有一个缓冲区)

ob_get_clean()删除缓冲区(不打印它),并返回其内容。

ob_get_flush()打印缓冲区,将其删除并返回其内容。

ob_get_clean只会返回缓冲区的内容,并将其分配给任何你想要的variables,但不会输出任何内容。

另一方面, ob_get_flush执行ob_get_clean所做的所有操作,但也会输出内容。

这两个函数清除输出缓冲区,closures输出缓冲区,并返回前一个缓冲区值。

但是, ob_get_flush首先将当前缓冲区发送给客户端,而ob_get_clean只是将其丢弃。