Re: New syntax for multidimensional array loop with foreach

From: Date: Thu, 27 Jun 2013 16:14:17 +0000
Subject: Re: New syntax for multidimensional array loop with foreach
References: 1 2  Groups: php.internals 
Request: Send a blank email to [email protected] to get a copy of this message
On Thu, 2013-06-27 at 16:58 +0200, Nikita Popov wrote:
> On Thu, Jun 27, 2013 at 4:10 PM, Christian Stoller <[email protected]>wrote:
> 
> > The new syntax could make it shorter and faster to write... but maybe it's
> > a bit too confusing?
> >
> > $count = 0;
> > foreach ($array as $key => $innerArray as $innerKey => $value) {
> >     $count += $value;
> >     // and do something with $key and $innerKey
> > }
> >
> 
> I'm against this feature. It makes the code marginally shorter, but a good
> bit less readable. Combined with the break/continue issue, I don't think we
> gain anything by introducing this syntax.

+1

Let me add to this:

While the pattern pattern exists often there are things to be done in
the outer iteration, too. So I think the pure form ofthis double-foreach
is not as common as it might seem ...

And you can write 
   foreach ($array as $i) foreach ($i as $innerKey => $value) {
   }
it is not that much longer, but way more explicit on what is going on,
visually parsing the suggested form needs more concentration.

johannes



Thread (15 messages)

« previous php.internals (#67966) next »