《PHP教程:php中debug_backtrace、debug_print_backtrace和匿名函數用法實例》要點:
本文介紹了PHP教程:php中debug_backtrace、debug_print_backtrace和匿名函數用法實例,希望對您有用。如果有疑問,可以聯系我們。
PHP學習本文實例講述了php中debug_backtrace、debug_print_backtrace和匿名函數用法.分享給大家供大家參考.具體分析如下:
PHP學習debug_print_backtrace() 是一個很低調的函數,很少有人注意過它.
PHP學習不過當我們對著一個對象調用另一個對象再調用其它的對象和文件中的一個函數出錯時,它正在一邊笑呢.
PHP學習debug_print_backtrace() 可以打印出一個頁面的調用過程,從哪兒來到哪兒去一目了然.不過這是一個PHP5的專有函數,好在pear中已經有了實現.
PHP學習一、debug_backtrace 它可以回溯跟蹤函數的調用信息,可以說是一個調試利器,代碼如下:
代碼如下:
one();?
function one() {??? two();???? }?
function two() {??? three();? }?
function three() {??? print_r( debug_backtrace() );?? }?
/*輸出:?
Array(?
???? [0] => Array??????? (?
??????????? [file] => D:apmservwwwhtdocstestdebugindex.php?
??????????? [line] => 10?
??????????? [function] => three?
??????????? [args] => Array??????????????? (??????????????? )?
????? ),?
????? [1] => Array??????? (?
?????????? [file] => D:apmservwwwhtdocstestdebugindex.php?
?????????? [line] => 6?
?????????? [function] => two?
?????????? [args] => Array??????????????? (??????????????? )?
????? ),?
????? [2] => Array??????? (?
?????????? [file] => D:apmservwwwhtdocstestdebugindex.php?
?????????? [line] => 3?
?????????? [function] => one?
?????????? [args] => Array??????????????? (??????????????? )?
????? )?
)*/
二、debug_print_backtrace 它與之不同的是它會直接打印回溯信息.
PHP學習三、匿名函數
PHP學習從PHP 5.3開始新增了匿名函數(Anonymous functions),也叫閉包函數(closures),關鍵字 use 同時也在匿名函數中.
PHP學習先看一下匿名函數的示例,作為回調函數的參數,代碼如下:
代碼如下:
<?php?
echo preg_replace_callback('~-([a-z])~', function ($match) {?
??? return strtoupper($match[1]);?
??? }, 'hello-world'
);?
// 輸出 helloWorld?
?>
連接閉包和外界變量的關鍵字:USE
PHP學習閉包可以保存所在代碼塊上下文的一些變量和值,PHP在默認情況下,匿名函數不能調用所在代碼塊的上下文變量,而需要通過使用use關鍵字,代碼如下:
代碼如下:
function test(){?
??? $num = 2;?
??? $array = array(1,2,3,4,5,6,7,8);?
??? print_r(array_filter($array, function($param)? use ($num){?
??? return $param % intval($num) ==0; })?
);}
test();
PHP學習希望本文所述對大家的PHP程序設計有所贊助.
歡迎參與《PHP教程:php中debug_backtrace、debug_print_backtrace和匿名函數用法實例》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.fzlkiss.com/jiaocheng/13532.html