Computer >> Máy Tính >  >> Lập trình >> PHP

Làm thế nào để loại bỏ một hàm trong thời gian chạy trong PHP?

Các hàm và lớp trong PHP có phạm vi toàn cầu. Điều này có nghĩa là chúng có thể được gọi bên ngoài một hàm ngay cả khi chúng đã được xác định bên trong phạm vi và theo cách khác.

Nhưng PHP không hỗ trợ nạp chồng hàm và không thể xác định lại các hàm đã khai báo trước đó.

Hàm có thể được định nghĩa là một hàm ẩn danh và nó có thể không được đặt sau khi hoàn thành quá trình chạy.

Dưới đây là một mẫu mã cho cùng một -

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);
}

Một hàm ẩn danh không thể được gọi bên trong chính nó. Cách giải quyết là sử dụng array_walk_recursive.