Re: [RFC] Combined Comparison (Spaceship) Operator

From: Date: Fri, 23 Jan 2015 11:05:42 +0000
Subject: Re: [RFC] Combined Comparison (Spaceship) Operator
References: 1 2 3 4 5 6 7  Groups: php.internals 
Request: Send a blank email to internals+get-81039@lists.php.net to get a copy of this message
Hi Alain, > On 23 Jan 2015, at 10:02, Alain Williams <addw@phcomp.co.uk> wrote: > >> On Fri, Jan 23, 2015 at 12:24:25AM +0000, Andrea Faulds wrote: >> >> Having it be the same as === would be inconsistent with our existing sorting and comparison >> behaviour, so I don’t think it should be changed. If we made it strict like that, we’d also have >> to define a strict < and > as well, otherwise we have a problem, because in some cases ($x !== >> $y && !($x < $y) && !($x > $y)) is TRUE. > > I think that you mentioned that you might come up with another RFC if <=> is > successful - that would be for a <==> operator. > > You might want to mention that ... but it is more complicated if the operands > are of different types - what does it return in that case ? FALSE ? But the same > as <=> if the types are the same ? The RFC did originally say that, Davey had thought of it. I'm not too keen on the idea and have removed that bit: I don't really think you can do any reasonable "strict" ordering. An error on unmatching types is a royal pain, and I know this because I've had to deal with Game Maker Language which did this. Sorting by type is fairly unintuitive. I think that if people want strict ordering, it's trivial to implement the particular scheme they want using <=>, casts, type checks, or strcmp(). Thanks! -- Andrea Faulds http://ajf.me/

« previous php.internals (#81039) next »