Re: [RFC] Implicit isset() in Shorthand Ternary Opera tor
| From: | rparker at yamiko dot org | Date: | Tue, 09 Sep 2014 17:08:36 +0000 |
| Subject: | Re: [RFC] Implicit isset() in Shorthand Ternary Opera tor | ||
| References: | 1 2 3 4 5 6 7 8 9 10 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-77113@lists.php.net to get a copy of this message | ||
From: Andrey Andreev
Sent: Monday, September 8, 2014 5:16 PM
To: Andrea Faulds
Cc: Adam Harvey, Christoph Becker, PHP internals
>On Tue, Sep 9, 2014 at 3:07 AM, Andrea Faulds <ajf@ajf.me> wrote:
>>
>> On 8 Sep 2014, at 23:58, Adam Harvey <aharvey@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.
I agree and think we should go with a different operator as others suggested. If not ?? than we
could use ?= like $foo ?= “default string”.
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php