文章摘要
本文实例讲述了php中debug_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程序设计有所帮助。
小二CMS介绍
我们立足合肥,业务覆盖安徽、全国及全球市场。我们凭借一支经验丰富、富有创意、协作无间的专业技术团队,专注于将前沿技术通过高效简捷的途径呈现给客户,量身打造优质解决方案。我们致力于通过持续努力,成为客户在信息化领域值得托付、共创价值的长期战略合作伙伴,协助客户在新经济时代敏锐捕捉商机,拓展发展空间,构筑强大竞争力。小二CMS专注企业数字化转型的智能建站与营销系统,提供从官网搭建、品牌推广到运营增长的一站式服务,助力中小企业低门槛拥有专业级互联网阵地。
了解全部业务
登录后方可参与评论
立即登录