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 [email protected] to get a copy of this message
Hi David,

Thanks for this proposal.

On Feb 13, 2014 10:30 PM, "Davey Shafik" <[email protected]> wrote:
>
> On 2/13/14, 2:19 AM, Christian Stoller wrote:
>>
>> Davey Shafik <[email protected]> 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 <[email protected]> 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


Thread (20 messages)

« previous php.internals (#72559) next »