1

これに出くわしたのは2回目…

呼び出しで使用さfoo()れるヘルパー関数が呼び出された関数があります。スクリプト内で複数回呼び出すと、「致命的なエラー: 再デルケアできません」というメッセージが表示されます。これは、関数でローカルに宣言されているのではなく、グローバルに宣言されていると私に信じさせます。これは本当ですか?これを回避できますか?formatStr()array_map()foo()formatStr()formatStr()function_exists()

ありがとう

4

1 に答える 1

2

foo() 関数内に定義された関数がありますか? その場合は、移動してください。

それ以外の場合は、formatStr() を function_exists() 内にラップするだけです...

if (!function_exists('formatStr'))
{
    function formatStr()
    {
        // Your function code
    }
}
于 2009-09-15T20:15:25.283 に答える