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.
[EMAIL PROTECTED]:~$ 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"
}
[EMAIL PROTECTED]:~$ 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
<[EMAIL PROTECTED]>

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to