定義和用法
PHP debug_backtrace() 函數產生一個 backtrace(回溯資訊)。
該函數返回一個關聯陣列。下面是可能返回的元素:
| 名稱 |
類型 |
描述 |
| function |
字串 |
當前的函數名。 |
| line |
整數 |
當前的行號。 |
| file |
字串 |
當前的檔案名稱。 |
| class |
字串 |
當前的類名 |
| object |
對象 |
當前對象。 |
| type |
字串 |
當前的調用類型,可能的調用:
返回: "->" - 方法調用
返回: "::" - 靜態方法調用
返回 nothing - 函數調用
|
| args |
數組 |
如果在函數中,列出函數參數。如果在被引用的檔案中,列出被引用的檔案名稱。 |
文法
debug_backtrace()
例子
<?phpfunction one($str1, $str2) {two("Glenn", "Quagmire");}function two($str1, $str2) {three("Cleveland", "Brown");}function three($str1, $str2) {print_r(debug_backtrace());}one("Peter", "Griffin");
輸出:
Array( [0] => Array ( [file] => D:\PHP\xampp\htdocs\52php\123\789.php [line] => 7 [function] => three [args] => Array ( [0] => Cleveland [1] => Brown ) ) [1] => Array ( [file] => D:\PHP\xampp\htdocs\52php\123\789.php [line] => 3 [function] => two [args] => Array ( [0] => Glenn [1] => Quagmire ) ) [2] => Array ( [file] => D:\PHP\xampp\htdocs\52php\123\789.php [line] => 14 [function] => one [args] => Array ( [0] => Peter [1] => Griffin ) ))
debug_backtrace函數理解1
debug_backtrace函數的作用為產生一個 backtrace。
debug_backtrace函數返回一個關聯陣列。
1.backtrace如何理解;
2.關聯陣列是否可以理解為可以新數組與原數組有聯絡;
debug_backtrace函數理解2
debug_backtrace函數的參數
function:當前的函數名。
1.當前的函數名是否為自訂的函數或者系統函數;
line:當前的行號。
1.line是否可以理解為調用函數所在的行數;
file:當前的檔案名稱。
1.file可以理解為當前調試所在的檔案
class:當前的類名
object:當前的對象。
type:當前的調用類型,可能的調用:
返回: "->" - 方法調用
返回: "::" - 靜態方法調用
返回 nothing - 函數調用
1.各類方法的調用如何理解;
args[]數組如果在函數中,列出函數參數。如果在被引用的檔案中,列出被引用的檔案名稱。
debug_backtrace函數理解3
<?php function one($str1, $str2) { two("Glenn", "Quagmire"); } function two($str1, $str2) { three("Cleveland", "Brown"); } function three($str1, $str2) { print_r(debug_backtrace()); } one("Peter", "Griffin"); ?>
輸出:
Array ( [0] => Array ( [file] => C:\wamp\www\web.php [line] => 89 [function] => three [args] => Array ( [0] => Cleveland [1] => Brown ) ) [1] => Array ( [file] => C:\wamp\www\web.php [line] => 86 [function] => two [args] => Array ( [0] => Glenn [1] => Quagmire ) ) [2] => Array ( [file] => C:\wamp\www\web.php [line] => 94 [function] => one [args] => Array ( [0] => Peter [1] => Griffin ) ) )