php debug_backtrace() 函數是幹什麼的?

來源:互聯網
上載者:User
定義和用法

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 ) ) )

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.