所以我知道你可以使用输出缓冲区。现在的问题是,我在Wordpress插件中使用了一个函数,它会自动执行并自动输出返回结果。但是,我想检查返回以查看它是否为假或返回我的数据。PHP:我可以压缩一个函数的输出吗?
我曾尝试:
if(function_name()) {
}
$name = function_name();
我仍然可以看到在这些情况下的输出,这是我为什么我想压制它,并首先做一些检查。我不想编辑插件的核心功能,但我会作为最后的手段。有更好的解决办法吗?
所以我知道你可以使用输出缓冲区。现在的问题是,我在Wordpress插件中使用了一个函数,它会自动执行并自动输出返回结果。但是,我想检查返回以查看它是否为假或返回我的数据。PHP:我可以压缩一个函数的输出吗?
我曾尝试:
if(function_name()) {
}
$name = function_name();
我仍然可以看到在这些情况下的输出,这是我为什么我想压制它,并首先做一些检查。我不想编辑插件的核心功能,但我会作为最后的手段。有更好的解决办法吗?
是的。这是可以做到这样的:
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
。
首先捕获函数的输出和返回值。
ob_start();
$name = function_name();
$output = ob_get_clean();
接下来,决定是否要输出它。
if ($name !== false) {
echo $output;
}
你并不清楚你想和返回值做什么,如果它不是false
,或者如果它实际上是你想发送到该页面的函数的输出。
http://php.net/manual/en/book.outcontrol.php –