2011-06-21 42 views
1

所以我知道你可以使用输出缓冲区。现在的问题是,我在Wordpress插件中使用了一个函数,它会自动执行并自动输出返回结果。但是,我想检查返回以查看它是否为假或返回我的数据。PHP:我可以压缩一个函数的输出吗?

我曾尝试:

if(function_name()) { 

} 

$name = function_name(); 

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

+0

http://php.net/manual/en/book.outcontrol.php –

回答

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

0

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

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

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

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

你并不清楚你想和返回值做什么,如果它不是false,或者如果它实际上是你想发送到该页面的函数的输出。

相关问题