Re: Proposal: Implement FR #7930 (list() constructor reference assignment)

From: Date: Wed, 23 Oct 2013 18:03:18 +0000
Subject: Re: Proposal: Implement FR #7930 (list() constructor reference assignment)
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-69810@lists.php.net to get a copy of this message
Seems like a natural fit to me. Does it also work with the new foreach/list combo? foreach ($array as list(&$a, $b)) {} -- Matthew Leverton On Wed, Oct 23, 2013 at 12:50 PM, Andrea Faulds <ajf@ajf.me> wrote: > Good evening everyone, > > I have a simple suggestion for a feature addition, which I have already > implemented. Over 13 years ago, someone suggested adding support for > assigning by reference in list(), with the following syntax: > > $arr = [1, 2] > list(&$a, $b) = $arr; > > Which would be equivalent to: > > $a = &$arr[0]; > $b = $arr[2]; > > Their request is here: https://bugs.php.net/bug.php?id=6768 > > It seemed like a useful feature, so I implemented it. The syntax is a little > unusual, in that normally you do $a = &$b, and with list() you'd do > list(&$a) = [$b], but I don't think there's a better syntax for it that > allows you to set some variables as references, but not all. > > The patch is here: > > https://github.com/TazeTSchnitzel/php-src/compare/ListByReference > > If people think it is useful, I'll write an RFC soon. > > Thanks, > -- > Andrea Faulds > http://ajf.me/ > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >

« previous php.internals (#69810) next »