PHP中的函数和类具有全局范围。这意味着即使在范围内定义它们,也可以在函数外部调用它们,反之亦然。
但是PHP不支持函数重载,并且不可能重新定义先前声明的函数。
该函数可以定义为匿名函数,并且可以在其运行完成后取消设置。
以下是相同的代码示例-
if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc()) $my_fn = create_function('&$v, $k', '$v = stripslashes($v);'); array_walk_recursive(array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST), $my_fn); unset($my_fn); }
匿名函数不能在内部调用。解决方法是使用array_walk_recursive。