What about foreach by reference, which is honestly the only time I use referencing anymore...
foreach ($array as $key => &$value) { $value = someOp($value); } Is this also bad? On Fri, Jun 2, 2017 at 10:56 AM, Johannes Schlüter <johan...@schlueters.de> wrote: > On Fr, 2017-06-02 at 15:21 +0200, Bartłomiej Krukowski wrote: > > Hello, > > > > PHP allows for using implicit references in arguments of function. In > > most common case we have to mark that variable is an reference in > > head of function, in other case we will receive fatal error (@see > > example - http://ideone.com/7zkgQQ <http://ideone.com/7zkgQQ>). There > > is an option to use variable as implicit reference (@see example - ht > > tp://ideone.com/T6oF7C <http://ideone.com/T6oF7C>), I think it should > > not be possible. Only explicit references should be allowed (except > > objects). > > The argument to the function in the second value is an array which is > passed by value. A copy of the array keeps the references as > references. This is consistent. Unless we have typed arrays or anything > like that the function call shouldn't care about the content. > > Aside from that references are a legacy construct and shouldn't be used > anymore. Using objects or relying on copy-on-write usually leads to > clearer code, reduced memory and faster execution. (in the past there > had been a few exceptions where arrays of references were good for some > graphs/trees with recent improvements to objects this is less the case) > > johannes > > http://schlueters.de/blog/archives/125-Do-not-use-PHP-references.html > http://schlueters.de/blog/archives/141-References-and-foreach.html > http://schlueters.de/blog/archives/180-References-Still-bad-in-PHP-7.ht > ml > http://schlueters.de/blog/archives/181-More-on-references.html > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >