Re: RFC: Comparable interface

From: Date: Tue, 05 Oct 2010 03:34:31 +0000
Subject: Re: RFC: Comparable interface
References: 1 2 3 4 5 6 7 8 9  Groups: php.internals 
Request: Send a blank email to internals+get-49868@lists.php.net to get a copy of this message
On Sun, October 3, 2010 6:18 pm, Stas Malyshev wrote: >> $a = new stdclass; >> $a->prop = null; >> $b = new stdclass; >> $b->prop2 = null; >> >> var_dump($a> $b); //false >> var_dump($a == $b); //false >> var_dump($b> $a); //false > > That's because there's no total ordering of generic objects that can > make sense. Only very specific objects - such as ones representing > numeric qualities or having numeric properties - can be ordered, most > of > objects are unordered. And comparing objects with scalars > automagically > might bring a lot of surprises as nobody really expects $a == $b and > $b > == $a to be different now. If you make == not reflexive, I'd be pretty cranky... :-) HOWEVER, here's an idea from left field... If PHP is comparing OBJECTS and cannot discern an ordering, perhaps returning NULL instead of FALSE would make sense. I have NO IDEA if this is do-able, sensible, or reasonable... It just struck me that when PHP doesn't "know" $a < $b should be TRUE/FALSE, returning NULL instead would be a "reasonable" course of action, from this naive scripter's POV. -- brain cancer update: http://richardlynch.blogspot.com/search/label/brain%20tumor Donate: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FS9NLTNEEKWBE

« previous php.internals (#49868) next »