网站地图    收藏   

主页 > 后端 > php进阶知识 >

php中debug_backtrace、debug_print_backtrace和匿名函数用

来源:未知    时间:2015-01-16 09:35 作者:xxadmin 阅读:

[导读] 本文实例讲述了php中debug_backtrace、debug_print_backtrace和匿名函数用法。分享给大家供大家参考。具体分析如下: debug_print_backtrace() 是一个很低调的函数,很少有人注意过它. 不过当我们对着...

本文实例讲述了php中debug_backtrace、debug_print_backtrace和匿名函数用法。分享给大家供大家参考。具体分析如下:

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();

 

希望本文所述对大家的PHP程序设计有所帮助。


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论