This article will introduce you to some usage analysis of debug_backtrace, debug_print_backtrace and anonymous functions. Students who need to know more can refer to them.
debug_print_backtrace, the difference is that it will directly print the backtrace information.
debug_print_backtrace() is a very low-key function, few people pay attention to it.
But when I call one object to another object and then call other objects and a function in the file and an error occurs, it is laughing.
debug_print_backtrace() can print out the calling process of a page, making it clear where it came from and where it went.
However, this is a proprietary function of PHP5. Fortunately, it has been implemented in pear,
1. debug_backtrace It can backtrace the calling information of the function, which can be said to be a debugging tool
The code is as follows |
Copy code |
代码如下 |
复制代码 |
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 ( )
)
)*/
|
one();
function one() { two(); }
function two() { three(); }
function three() { print_r( debug_backtrace() ); }
/*Output:
Array(
[0] => Array (
[file] =>
[line] => 10
[function] => three
代码如下 |
复制代码 |
echo preg_replace_callback('~-([a-z])~', function ($match) {
return strtoupper($match[1]);
}, 'hello-world'
);
// 输出 helloWorld
?>
|
[args] =>
),
[1] => Array (
[file] =>
[line] => 6
[Function] = & GT; TWO
[args] =>
),
[2] => Array (
[line] => 3
[function] =>
[args] =>
)
)*/
|
2. debug_print_backtrace The difference is that it will directly print the backtrace information.
3. Anonymous function
Anonymous functions, also called closures, have been added since PHP 5.3. The keyword use is also in anonymous functions.
Let’s first look at an example of an anonymous function as a parameter of a callback function
The code is as follows |
Copy code |
echo preg_replace_callback('~-([a-z])~', function ($match) {
Return strtoupper($match[1]);
}, 'hello-world'
);
// Output helloWorld
?>
|
Keyword connecting closure and external variables: USE
Closures can save some variables and values in the context of the code block. By default in PHP, anonymous functions cannot call the context variables of the code block in which they are located, but need to use the use keyword
The code is as follows |
Copy code |
代码如下 |
复制代码 |
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();
|
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();
|
http://www.bkjia.com/PHPjc/445616.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/445616.htmlTechArticleThis article will introduce to you some usage analysis of debug_backtrace, debug_print_backtrace and anonymous functions. Students who need to know more are welcome to enter. refer to. debug_print_backtrace, unlike...