Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

PHP error handling functions - debug_backtrace()

Introduction

The debug_backtrace() function is used to generate a PHP backtrace.

Syntax:

debug_backtrace(provide_object )

Parameters:

provide_object: Specifies whether the object index is to be populated or not. Type of provide_object is boolean.

Return Values:

debug_backtrace() function returns an associative array. Here is a list of the possible returned elements :

Name Type Description
function string Name of the current function.
line integer The Current line number.
file string The Current file name.
class string The Current class name.
object object The Current object name.
type string Specifies the current call type.
For a method call. -> is returned.
For a static method call. :: is returned.
For a function call. nothing is returned.
args array If inside a function. this lists the functions arguments.
If inside an included file. this lists the included file name(s).

Example:

<?php
function w3r($str)
{
    echo "We are learning:".$str."<br />";
    var_dump(debug_backtrace());
}
w3r('php');
?>

The above code displays this output:

We are learning:php
array(1) {
  [0]=>
  array(4) {
    ["file"]=>
    string(92) "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\debug-backtrace-example.php"
    ["line"]=>
    int(8)
    ["function"]=>
    string(3) "w3r"
    ["args"]=>
    array(1) {
      [0]=>
      &string(3) "php"
    }
  }
}

Previous: using-die()
Next: debug_print_backtrace()



PHP: Tips of the Day

How to Sort Multi-dimensional Array by Value?

Try a usort, If you are still on PHP 5.2 or earlier, you'll have to define a sorting function first:

Example:

function sortByOrder($a, $b) {
    return $a['order'] - $b['order'];
}

usort($myArray, 'sortByOrder');

Starting in PHP 5.3, you can use an anonymous function:

usort($myArray, function($a, $b) {
    return $a['order'] - $b['order'];
});

And finally with PHP 7 you can use the spaceship operator:

usort($myArray, function($a, $b) {
    return $a['order'] <=> $b['order'];
});

To extend this to multi-dimensional sorting, reference the second/third sorting elements if the first is zero - best explained below. You can also use this for sorting on sub-elements.

usort($myArray, function($a, $b) {
    $retval = $a['order'] <=> $b['order'];
    if ($retval == 0) {
        $retval = $a['suborder'] <=> $b['suborder'];
        if ($retval == 0) {
            $retval = $a['details']['subsuborder'] <=> $b['details']['subsuborder'];
        }
    }
    return $retval;
});

If you need to retain key associations, use uasort() - see comparison of array sorting functions in the manual

Ref : https://bit.ly/3i77vCC