Re: Re: Optional parameter for debug_print_backtrace()
| From: | Stefan Walk | Date: | Fri, 19 Mar 2004 09:33:37 +0000 |
| Subject: | Re: Re: Optional parameter for debug_print_backtrace() | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-8598@lists.php.net to get a copy of this message | ||
On Fri, Mar 19, 2004 at 10:00:16AM +0100, Andrey Hristov wrote:
> Hmmm,
> looks I was kinda fooled by some script a month ago. I was suprised that
> with debug_print_backtrace() I was able to see the arguments of the stack
> since I haven't seen the same done by debug_backtrace(). But few minutes
> ago I took a look at the code of both functions and they try to extract the
> arguments from the stack. So this optional parameter to
> debug_print_backtrace() is not needed.
> But a question arose, in which cases the arguments from the stack will be
> extracted and returned?(hope this won't be treated as php-general question
> ;) ) I tried to simulate something with a small script with no success.
>
>
> Andrey
Seems behaviour changed from PHP4 to PHP5.
et@edea:~$ php -r 'function f() { var_dump(array_keys(array_shift(debug_backtrace()))); }
f(1,3);'
array(4) {
[0]=>
string(4) "file"
[1]=>
string(4) "line"
[2]=>
string(8) "function"
[3]=>
string(4) "args"
}
et@edea:~$ php5 -r 'function f() { var_dump(array_keys(array_shift(debug_backtrace()))); }
f(1,3);'
array(3) {
[0]=>
string(4) "file"
[1]=>
string(4) "line"
[2]=>
string(8) "function"
}
Note that if you join() the result of array_keys the args argument disappears in php4 as well...
This is not mentioned in the changelog, afaik. Maybe it should be?
--
Regards,
Stefan Walk
<swalk@prp.physik.tu-darmstadt.de>