PHP:抑制函数中的输出?

2022-08-30 13:03:44

抑制函数可能产生的任何输出的最简单方法是什么?假设我有这个:

function testFunc() {
    echo 'Testing';
    return true;
}

我想调用testFunc()并获取其返回值,而不会在页面中显示“测试”。假设这是在输出其他内容的其他代码的上下文中,是否有一种好的方法可以做到这一点?也许弄乱了输出缓冲区?


答案 1

是的,弄乱输出缓冲区正是答案。只需在调用要输出的方法之前将其打开(不是函数本身,而是在调用它的地方,您可以将其包装在整个脚本或脚本流中,但是您可以通过将其包裹在方法的调用中来使其尽可能“紧密”):

function foo() {
  echo "Flush!";
  return true;
}

ob_start();
$a = foo();
ob_end_clean();

并且不会生成任何输出。


答案 2

给你:

ob_start();
testFunc();
ob_end_clean();

“ob”代表“输出缓冲”,请在此处查看手册页:http://www.php.net/outcontrol


推荐