Hi,

On Sat, Feb 25, 2012 at 14:21, Dmitri Snytkine
<dsnytk...@ultralogistics.com> wrote:
> I am not sure if this is a bug or not, but something is strange with this:
> I run this little test script, this one is posted on php.net in comments
> section
>
>
> class MySimpleHeap extends SplMaxHeap
> {
>    public function  compare( $value1, $value2 ) {
>        return ( $value1 - $value2 );
>    }
> }
>
> $obj = new MySimpleHeap();
> $obj->insert( 4 );
> $obj->insert( 8 );
> $obj->insert( 1 );
> $obj->insert( 0 );
>
> foreach( $obj as $number ) {
>    echo $number."\n";
> }
>
> The output is 8 4 1 0
> Good.
> Now I change the
> class MySimpleHeap extends SplMaxHeap
> to
> class MySimpleHeap extends SplMinHeap
>
> run it again (now I expet to get lowest value first) and get exact same
> results back.
>
> Is this a bug?

No, this is not a bug. SplMin/MaxHeap simply define their own compare
method, but you overwrite it anyway.

If you specify the compare method, I don't believe it is useful to
extends SplMin/MaxHeap if you overwrite the compare method completely,
you should extend SplHeap directly in such cases.

Best,

>
>
>
> Dmitri Snytkine
> Web Developer
> Ultra Logistics, Inc.
> Phone: (888) 220-4640 x 2097
> Fax: (888) 795-6642
> E-Mail: dsnytk...@ultralogistics.com
> Web: www.ultralogistics.com
>
> "A Top 100 Logistics I.T. Provider in 2011"
>
>
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>



-- 
Etienne Kneuss
http://www.colder.ch

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

Reply via email to