PHP4 - “致命错误:无法重新声明 function()”

发布于 2024-08-05 16:21:19 字数 307 浏览 5 评论 0原文

我第二次遇到这个问题...

我有一个函数 foo() ,它内部有一个名为 formatStr() 的辅助函数,它在 array_map 中使用() 调用。当我在脚本中多次调用 foo() 时,我收到“致命错误:无法 redelcare formatStr()”。这让我相信 formatStr() 不是在函数中本地声明的,而是全局声明的。这是真的吗?你能用function_exists()解决这个问题吗?

谢谢

Second time I've ran into this...

I have function foo() that has a helper function inside called formatStr() which is used in an array_map() call. When I call foo() more than once within a script I get a "Fatal error: Cannot redelcare formatStr()". Which leads me to believe formatStr() is not declared locally in the function but globally. Is this true? Can you get around this with function_exists()?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

山色无中 2024-08-12 16:21:19

您在 foo() 函数中定义了一个函数吗?如果是这样,请将其移出。

否则,只需将 formatStr() 包装在 function_exists() 中...

if (!function_exists('formatStr'))
{
    function formatStr()
    {
        // Your function code
    }
}

You have a function defined within the foo() function? If so, move it out.

Otherwise, just wrap formatStr() within function_exists()...

if (!function_exists('formatStr'))
{
    function formatStr()
    {
        // Your function code
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文