Re: Unwrap reference after foreach
| From: | Claude Pache | Date: | Sat, 14 Aug 2021 16:00:21 +0000 |
| Subject: | Re: Unwrap reference after foreach | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-115727@lists.php.net to get a copy of this message | ||
> Le 13 août 2021 à 15:28, Nikita Popov <nikita.ppv@gmail.com> a écrit :
>
> Hi internals,
>
> I'd like to address a common footgun when using foreach by reference:
> https://wiki.php.net/rfc/foreach_unwrap_ref
>
> This addresses the issue described in the big red box at
> https://www.php.net/manual/en/control-structures.foreach.php.
> While this is
> "not a bug" (as our bug tracker can regularly attest), it's rather
> unexpected, and we could easily avoid it...
>
> Regards,
> Nikita
A case that should be mentioned in the RFC is destructuring:
```php
foreach ($foo as [ $x, &$y ]) { /* .... */ }
```
https://3v4l.org/A5Vi7 <https://3v4l.org/A5Vi7>
I assume that the reference in
$y would be unwrapped after the loop?
—Claude