php中debug_backtrace、debug_print_backtrace和匿名函数用法实例_PHP
本文实例讲述了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 同时也在匿名函数中.
先看一下匿名函数的示例,作为回调函数的参数,代码如下:
代码如下:
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程序设计有所帮助。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。
