PHP:我可以抑制函数的输出吗?

时间:2011-06-21 02:11:48

标签: php wordpress

所以我知道你可以使用输出缓冲区。现在的问题是,我在Wordpress插件中使用一个函数,它是自动的,它会自动输出返回。但是,我想检查返回以查看它是否为false或返回我的数据。

我试过了:

if( function_name() ) {

}

$name = function_name();

我仍然可以在那些情况下看到输出,我为什么要压制它并先做一些检查。我不想编辑插件的核心功能,但我会作为最后的手段。有更好的解决方法吗?

2 个答案:

答案 0 :(得分:8)

是。可以这样做:

ob_start();
if (function_name()) { }
else {}

// then you can do one of the following
ob_end_clean(); // in case you want to suppress function_name output
ob_flush(); // in case you don't want to suppress function_name output

有关输出控制功能的更多信息,请查看here

此外,您可以使用ob_get_clean而不是ob_flushob_end_clean

答案 1 :(得分:0)

首先,捕获函数的输出和返回值。

ob_start();
$name = function_name();
$output = ob_get_clean();

接下来,决定是否要输出它。

if ($name !== false) {
    echo $output;
}

如果返回值不是false,或者它实际上是您想要发送到页面的函数的输出,那么您不清楚要对返回值执行什么操作。