所以我知道你可以使用输出缓冲区。现在的问题是,我在Wordpress插件中使用一个函数,它是自动的,它会自动输出返回。但是,我想检查返回以查看它是否为false或返回我的数据。
我试过了:
if( function_name() ) {
}
$name = function_name();
我仍然可以在那些情况下看到输出,我为什么要压制它并先做一些检查。我不想编辑插件的核心功能,但我会作为最后的手段。有更好的解决方法吗?
答案 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_flush
和ob_end_clean
。
答案 1 :(得分:0)
首先,捕获函数的输出和返回值。
ob_start();
$name = function_name();
$output = ob_get_clean();
接下来,决定是否要输出它。
if ($name !== false) {
echo $output;
}
如果返回值不是false
,或者它实际上是您想要发送到页面的函数的输出,那么您不清楚要对返回值执行什么操作。