如何在 PHP 中在執行時刪除函式?
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。
廣告