欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php中debug_backtrace、debug_print_backtrace和匿名函數(shù)用法實(shí)例

 更新時間:2014年12月01日 10:23:21   投稿:shichen2014  
這篇文章主要介紹了php中debug_backtrace、debug_print_backtrace和匿名函數(shù)用法,以實(shí)例形式分析了debug_backtrace和debug_print_backtrace函數(shù)在調(diào)試過程中的作用,并分析了PHP5.3新增匿名函數(shù)的用法,需要的朋友可以參考下

本文實(shí)例講述了php中debug_backtrace、debug_print_backtrace和匿名函數(shù)用法。分享給大家供大家參考。具體分析如下:

debug_print_backtrace() 是一個很低調(diào)的函數(shù),很少有人注意過它.

不過當(dāng)我們對著一個對象調(diào)用另一個對象再調(diào)用其它的對象和文件中的一個函數(shù)出錯時,它正在一邊笑呢.

debug_print_backtrace() 可以打印出一個頁面的調(diào)用過程,從哪兒來到哪兒去一目了然.不過這是一個PHP5的專有函數(shù),好在pear中已經(jīng)有了實(shí)現(xiàn).

一、debug_backtrace 它可以回溯跟蹤函數(shù)的調(diào)用信息,可以說是一個調(diào)試?yán)?代碼如下:

復(fù)制代碼 代碼如下:
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 它與之不同的是它會直接打印回溯信息.

三、匿名函數(shù)

從PHP 5.3開始新增了匿名函數(shù)(Anonymous functions),也叫閉包函數(shù)(closures),關(guān)鍵字 use 同時也在匿名函數(shù)中.

先看一下匿名函數(shù)的示例,作為回調(diào)函數(shù)的參數(shù),代碼如下:

復(fù)制代碼 代碼如下:
<?php 
echo preg_replace_callback('~-([a-z])~', function ($match) { 
    return strtoupper($match[1]); 
    }, 'hello-world'
); 
// 輸出 helloWorld 
?>

連接閉包和外界變量的關(guān)鍵字:USE

閉包可以保存所在代碼塊上下文的一些變量和值,PHP在默認(rèn)情況下,匿名函數(shù)不能調(diào)用所在代碼塊的上下文變量,而需要通過使用use關(guān)鍵字,代碼如下:

復(fù)制代碼 代碼如下:
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程序設(shè)計有所幫助。

相關(guān)文章

最新評論