• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php中debug_backtrace、debug_print_backtrace和匿名函数用法实例_php技巧

php 搞代码 3年前 (2022-01-26) 29次浏览 已收录 0个评论

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

debug_print_backtrace() 是一个很低调的函数,很少有人注意过它.

不过当我们对着一个对象调用另一个对象再调用其它的对象和文件中的一个函数出错时,它正在一边笑呢.

debug_print_backtrace() 可以打印出一个页面的调用过程,从哪儿来到哪儿去一目了然.不过这是一个PHP5的专有函数,好在pear中已经有了实现.

一、debug_backtrace 它可以回溯跟踪函数的调用信息,可以说是一个调试利器,代码如下:

one();  <br />function one() {    two();     }  <br />function two() {    three();  }  <br />function three() {    print_r( debug_backtrace() );   }  <br />/*输出:  <br />Array(  <br />     [0] => Array        (  <br />            [file] => D:apmservwwwhtdocstestdebugindex.php  <br />            [line] => 10  <br />            [function] => three  <br />            [args] => Array                (                )  <br />      ),  <br />      [1] => Array        (  <br />           [file] => D:apmservwwwhtdocstestdebugindex.php  <br />           [line] => 6  <br />           [function] => two  <br />           [args] => Array                (                )  <br />      ),  <br />      [2] => Array        (  <br />     <p style="color:transparent">2本文来源gao!daima.com搞$代!码网</p><span>搞代gaodaima码</span>      [file] => D:apmservwwwhtdocstestdebugindex.php  <br />           [line] => 3  <br />           [function] => one  <br />           [args] => Array                (                )  <br />      )  <br />)*/

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

三、匿名函数

从PHP 5.3开始新增了匿名函数(Anonymous functions),也叫闭包函数(closures),关键字 use 同时也在匿名函数中.

先看一下匿名函数的示例,作为回调函数的参数,代码如下:

<?php  <br />echo preg_replace_callback('~-([a-z])~', function ($match) {  <br />    return strtoupper($match[1]);  <br />    }, 'hello-world' <br />);  <br />// 输出 helloWorld  <br />?>

连接闭包和外界变量的关键字:USE

闭包可以保存所在代码块上下文的一些变量和值,PHP在默认情况下,匿名函数不能调用所在代码块的上下文变量,而需要通过使用use关键字,代码如下:

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

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php中debug_backtrace、debug_print_backtrace和匿名函数用法实例_php技巧

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址