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

From: Date: Tue, 16 Sep 2014 20:00:15 +0000
Subject: Re: [RFC] Implicit isset() in Shorthand Ternary Operator
References: 1 2 3 4 5 6 7 8 9 10 11 12  Groups: php.internals 
Request: Send a blank email to internals+get-77275@lists.php.net to get a copy of this message
Andrea Faulds wrote: > On 16 Sep 2014, at 19:38, Adam Harvey <aharvey@php.net> wrote: > >> On 16 September 2014 11:34, Andrea Faulds <ajf@ajf.me> wrote: >>> By popular demand, I’ve changed the RFC to instead propose a ?? operator, after >>> Nikita Popov generously donated a working ?? patch. In doing so, the RFC is renamed “Null Coalesce >>> Operator”. >>> >>> Please read it: https://wiki.php.net/rfc/isset_ternary >> >> Love it! Kudos to you and Nikita. +1 >> Is it possible to chain ?? operators; ie $value = $foo ?? $bar ?? 'default’? > > Yep: > > $ sapi/cli/php -r '$x = NULL; $y = NULL; $z = 3; var_dump($x ?? $y ?? $z);' > int(3) > > $ sapi/cli/php -r '$x = ["yarr" => "meaningful_value"]; > var_dump($x["aharr"] ?? $x["waharr"] ?? $x["yarr"]);' > string(16) "meaningful_value" It might be good to add explicit information regarding the precedence (according to the patch, between the ternary operator and ||) and the associativity (according to the patch and the examples, right) to the RFC. -- Christoph M. Becker

« previous php.internals (#77275) next »