Am 08.09.2014 15:58, schrieb Andrea Faulds:

> On 8 Sep 2014, at 13:04, Shashank Kumar <shashankkumar...@gmail.com>
> wrote:
> 
>> Rather than giving a new meaning to an old operator why not have a
>> different operator for this? .NET has a 'null coalescing' operator
>> for the same purpose which works out quite well in the given
>> situation and is non-ambiguous as well.
>> http://msdn.microsoft.com/en-us/library/ms173224.aspx
> 
> We could add such an operator, perhaps with the ?? syntax. However, I
> don’t really like the idea. It’s too similar to ?: so I don’t think
> it’d be accepted, and even if it was, I’m not sure we really need
> another operator. I’d much rather just make ?: do what, IMO, is the
> right thing and what it always should have done.

I'd rather had a shortcut for the following:

  isset($_GET['foo']) ? $_GET['foo'] : BAR

What the "Implicit isset() in Shorthand Ternary Operator" RFC proposes
is not equivalent (despite the RFC's name), consider e.g.

  $_GET['foo'] === ""
  $_GET['foo'] === "0"

Of course, it is not possible to change the ?: operator to work this way
for BC reasons, but a new operator such as ?? might make sense.

-- 
Christoph M. Becker

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to