Re: [RFC] Implicit isset() in Shorthand Ternary Opera tor

From: 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

« previous php.internals (#77113) next »