您好,登錄后才能下訂單哦!
debug_backtrace與debug_print_backtrace怎么在php中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
debug_print_backtrace() 是一個很低調的函數,很少有人注意過它.
不過當我們對著一個對象調用另一個對象再調用其它的對象和文件中的一個函數出錯時,它正在一邊笑呢.
debug_print_backtrace() 可以打印出一個頁面的調用過程,從哪兒來到哪兒去一目了然.不過這是一個PHP5的專有函數,好在pear中已經有了實現.
一、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 5.3開始新增了匿名函數(Anonymous functions),也叫閉包函數(closures),關鍵字 use 同時也在匿名函數中.
先看一下匿名函數的示例,作為回調函數的參數,代碼如下:
復制代碼 代碼如下:
<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
return strtoupper($match[1]);
}, 'hello-world'
);
// 輸出 helloWorld
?>
連接閉包和外界變量的關鍵字:USE
閉包可以保存所在代碼塊上下文的一些變量和值,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();
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。