Re: [RFC] Combined Comparison Operator

From: Date: Thu, 13 Feb 2014 17:14:03 +0000
Subject: Re: [RFC] Combined Comparison Operator
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-72559@lists.php.net to get a copy of this message
Hi David, Thanks for this proposal. On Feb 13, 2014 10:30 PM, "Davey Shafik" <davey@php.net> wrote: > > On 2/13/14, 2:19 AM, Christian Stoller wrote: >> >> Davey Shafik <davey@php.net> wrote: >>> >>> This adds a new operator "(expr) <=> (expr)" that returns 0 if both >>> operands are equal, 1 if the left is greater, and -1 if the right is >>> greater. >>> >>> It works with all types (just as well as <, <=, >=, > work) and is great >>> for usort() callbacks for example. >>> >> >> Why not using $a - $b instead of $a >> <=> $b? >> >> >> Simon J Welsh <simon@simon.geek.nz> wrote: >>> >>> The only real case I see for this is to save some boilerplate when >>> dealing with arrays. Strings have strcmp(), numbers have subtraction >>> And when you’re sorting objects, you probably want to be doing >>> the comparison on some string/numeric property. >>> >> >> Agreed! It would make more sense to write a comparison function for arrays/objects. >> >> >> Best regards >> Christian >> > > This operator DOES work on arrays/objects. The fact it also works on scalar values is a bonus if that's how you want to look at it :P This new operator doea not look too useful to me but here is one comment about objects handling: It compares only values, seems to be the only solution but the actual usage for that is rather inexistent as it compares apples and pears, or am I missing something? Cheers, Pierre

« previous php.internals (#72559) next »