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