Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

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를 사용하는 것입니다.