调用函数并防止被调用函数在PHP中执行重定向

调用函数并防止被调用函数在PHP中执行重定向,php,redirect,Php,Redirect,我正在调用一个函数,该函数在最后执行重定向。我能阻止我调用的函数以某种方式执行重定向吗 function a() { // here i would want to prevent the redirect. but i must call b always b(); return 'a'; } //function that i can't modify. It always redirects. function b() { header("Location

我正在调用一个函数,该函数在最后执行重定向。我能阻止我调用的函数以某种方式执行重定向吗

function a() {
    // here i would want to prevent the redirect. but i must call b always
    b();
    return 'a';
}

//function that i can't modify. It always redirects.
function b() {
    header("Location: http://google.com", true, 200 );
}

$return = a();

echo $return;
// expected output: 'a' not a redirect to google

如果您问为什么,我不想修改函数
b()
,因为它是一个库函数。

调用库函数后,请尝试使用

header_remove("Location")


希望该头不会发送…

调用库函数后,尝试使用

header_remove("Location")

希望该标头还没有发送…

如何删除标头(在设置标头之后)

在设置标题后,如何删除标题


您不能只添加一个
返回
以退出a吗?
b()
是否只重定向?你能不能把对
b()
的调用封装在一个if语句中?OP说函数在最后执行重定向,所以我想它隐含了更多的东西。有几个简单的答案,但由于OP-rep,我怀疑他们缺少的信息只是不重定向…你不能只添加一个
return
来退出a吗?
b()
是否仅重定向?你能不能把对
b()
的调用封装在一个if语句中?OP说函数在最后执行重定向,所以我想它隐含了更多的东西。有几个简单的答案,但由于OP rep,我怀疑他们缺少的信息就是不重定向…得到了不同的解决方案,我发现了一种覆盖库的方法:DIt是wordpress中的一个过滤器。我应该写下整个问题,如果我写了,我会更早找到答案:我认为这仍然是一个有用的PHP问题。直到现在我才知道header_remove,所以谢谢你的提问:)得到了一个不同的解决方案,我找到了一种覆盖库的方法:DIt是wordpress中的一个过滤器。我应该写下整个问题,如果我写了,我会更早找到答案:我认为这仍然是一个有用的PHP问题。直到现在我才知道要移除标题,所以谢谢你的提问:)