Re: [PHP-DEV] call_stack
On Wed, 27 Nov 2002 15:41:25 +0100 (CET) Derick Rethans <[EMAIL PROTECTED]> wrote: > On Wed, 27 Nov 2002, Miham KEREKES wrote: > > > Hi! > > > > I'm new to this list, I want to know if there is any function which > > could return the actual call stack, or is it planned to be added? > > It could be very useful (for example in my case, now :-). > > debug_backtrace() will be available in PHP 4.3.0 and higher. > > Derick > I thought debug_backtrace() was a ze2 thing. Does that mean 4.3 is going to use ze2? Phil Dier -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DEV] __CLASS__ and debug_backtrace()
While experimenting with php-4.3.0 alpha, i discovered this. Both __CLASS__ and debug_backtrace() give the wrong class name in the below program and they do so whether the method is called statically or on an instance. Is this a bug or the desired behavour? If the latter, wouldn't it be more useful if it gave the child class name? print_something(); ?> Phil Dier <[EMAIL PROTECTED]> gett communications <http://www.gettcomm.com> gett labs, inc. <http://www.gettlabs.com> -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DEV] usort() implementation in 4.1+
I'm sure this has been discussed on here already, but I just discovered the usort() behaviour that was introduced in php 4.1.0 relating to "equal" values. Consider this scenario: id = $id; $this->time = $time; } function do_sort($a,$b) { if($a->time == $b->time) return 0; return ($a->time > $b->time) ? 1 : -1; } } $a3 = new data_object(3, 400); $a2 = new data_object(2, 400); $a1 = new data_object(1, 400); $o_array[0] = &$a1; $o_array[1] = &$a2; $o_array[2] = &$a3; echo ""; print_r($o_array); // the array is in the right order here... echo ""; usort($o_array, array("data_object","do_sort")); echo ""; print_r($o_array); // here it's apparently in the order it is stored in memory... echo ""; ?> There's obviously a couple workarounds in this simple case, but adding more member vars and defining objects in different places complicates things. This behaviour is a bug IMO. And yes I saw the note in the manual, but i still think this is counter-intuitive and has the chance to break people's code (it broke mine). Phil Dier <[EMAIL PROTECTED]> gett communications <http://www.gettcomm.com> gett labs, inc. <http://www.gettlabs.com> -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php