国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php中debug_backtrace、debug_print_backtrace和匿名函數用法實例

2024-09-04 11:42:56
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了php中debug_backtrace、debug_print_backtrace和匿名函數用法,以實例形式分析了debug_backtrace和debug_print_backtrace函數在調試過程中的作用,并分析了PHP5.3新增匿名函數的用法,需要的朋友可以參考下

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

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

不過當我們對著一個對象調用另一個對象再調用其它的對象和文件中的一個函數出錯時,它正在一邊笑呢.

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

一、debug_backtrace 它可以回溯跟蹤函數的調用信息,可以說是一個調試利器,代碼如下:

  1. one();  
  2. function one() {    two();     }  
  3. function two() {    three();  }  
  4. function three() {    print_r( debug_backtrace() );   }  
  5. /*輸出:  
  6. Array(  
  7.      [0] => Array        (  
  8.             [file] => D:apmservwwwhtdocstestdebugindex.php  
  9.             [line] => 10  
  10.             [function] => three  
  11.             [args] => Array                (                )  
  12.       ),  
  13.       [1] => Array        (  
  14.            [file] => D:apmservwwwhtdocstestdebugindex.php  
  15.            [line] => 6  
  16.            [function] => two  
  17.            [args] => Array                (                )  
  18.       ),  
  19.       [2] => Array        (  
  20.            [file] => D:apmservwwwhtdocstestdebugindex.php  
  21.            [line] => 3  
  22.            [function] => one  
  23.            [args] => Array                (                )  
  24.       )  
  25. )*/ 

二、debug_print_backtrace 它與之不同的是它會直接打印回溯信息.

三、匿名函數

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

先看一下匿名函數的示例,作為回調函數的參數,代碼如下:

  1. <?php  
  2. echo preg_replace_callback('~-([a-z])~'function ($match) {  
  3.     return strtoupper($match[1]);  
  4.     }, 'hello-world' 
  5. );  
  6. // 輸出 helloWorld  
  7. ?> 

連接閉包和外界變量的關鍵字:USE

閉包可以保存所在代碼塊上下文的一些變量和值,PHP在默認情況下,匿名函數不能調用所在代碼塊的上下文變量,而需要通過使用use關鍵字,代碼如下:

  1. function test(){  
  2.     $num = 2;  
  3.     $array = array(1,2,3,4,5,6,7,8);  
  4.     print_r(array_filter($arrayfunction($param)  use ($num){  
  5.     return $param % intval($num) ==0; })  
  6. );} 
  7. test(); 

希望本文所述對大家的PHP程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉隆县| 措美县| 南岸区| 滦平县| 册亨县| 来凤县| 深州市| 花莲市| 永春县| 通许县| 秭归县| 揭西县| 麟游县| 宁海县| 白山市| 绍兴县| 怀仁县| 八宿县| 许昌县| 建始县| 宜兰市| 通许县| 定安县| 英超| 遵义市| 曲阜市| 高陵县| 安吉县| 闸北区| 南丰县| 高安市| 乌兰察布市| 兰溪市| 那曲县| 道真| 徐州市| 黑山县| 柘荣县| 宝丰县| 星子县| 金乡县|