이 기사의 예에서는 PHP에서 debug_backtrace, debug_print_backtrace 및 익명 함수의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
debug_print_backtrace()는 매우 중요하지 않은 기능이므로 주의를 기울이는 사람이 거의 없습니다.
그런데 하나의 개체를 다른 개체로 호출한 후 파일에 있는 다른 개체와 함수를 호출하면 오류가 발생하면 웃음이 납니다.
debug_print_backtrace()는 페이지의 호출 프로세스를 출력할 수 있으며 어디서 왔고 어디로 가는지 명확합니다. 그러나 이는 PHP5의 독점 기능이지만 다행히 pear에서 구현되었습니다.
1. debug_backtrace 함수의 호출 정보를 역추적할 수 있는 코드입니다.
one();
함수 하나() { 둘() }
함수 2() { 3() }
function three() { print_r( debug_backtrace() )
/*출력:
배열(
[0] => 배열(
[파일] =>
> [행] =>
[기능] =>
[인수] =>
),
[1] => 배열(
[파일] =>
> [라인] =>
[기능] =>
[인수] =>
),
[2] => 배열(
[파일] =>
>
~ >
[인수] =>
) )
)*/
2. debug_print_backtrace와의 차이점은 역추적 정보를 직접 인쇄한다는 점입니다.
3. 익명 기능
클로저라고도 불리는 익명 함수는 PHP 5.3부터 추가되었습니다. 키워드 사용은 익명 함수에도 있습니다.
먼저 콜백 함수의 매개변수인 익명 함수의 예를 살펴보면 코드는 다음과 같습니다.
코드 복사
코드는 다음과 같습니다.
echo preg_replace_callback('~-([a-z])~', function ($match) {
반환 strtoupper($match[1])
}, 'hello-world'
);
// helloWorld 출력
?>
클로저와 외부 변수를 연결하는 키워드: USE
클로저는 코드 블록의 컨텍스트에 일부 변수와 값을 저장할 수 있습니다. PHP에서는 기본적으로 익명 함수가 코드 블록의 컨텍스트 변수를 호출할 수 없지만 코드를 사용해야 합니다. 다음과 같습니다:
코드 복사
코드는 다음과 같습니다.
기능 테스트(){
$번호 = 2
$배열 = 배열(1,2,3,4,5,6,7,8)
Print_r(array_filter($array, function($param)) 사용($num){
$param % intval($num) ==0 })
반환
);}
테스트();
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.