On Tue, Sep 9, 2014 at 3:07 AM, Andrea Faulds <a...@ajf.me> wrote:
>
> On 8 Sep 2014, at 23:58, Adam Harvey <ahar...@php.net> wrote:
>
>> +1 on ?? — there's precedent for it, and it means we don't have to
>> explain why the shorthand form of an operator behaves differently to
>> the long form, which is just going to confuse users.
>
> FWIW, it already behaves differently:
>
>     oa-res-27-90:~ ajf$ php -r 'function foo() { echo "foo\n"; return true; } 
> $x = foo() ?: false;'
>     foo
>     oa-res-27-90:~ ajf$ php -r 'function foo() { echo "foo\n"; return true; } 
> $x = foo() ? foo() : false;'
>     foo
>     foo

That's arguable ... I'd say that ($x = foo()) ? $x : false; is the
logical equivalent of your first example.

Cheers,
Andrey.

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

Reply via email to