Hello Pierre, Andrea and Niklas,

On Mon, Jan 19, 2015 at 11:35 PM, Pierre Joye <pierre....@gmail.com> wrote:

> On Tue, Jan 20, 2015 at 6:15 AM, Andrea Faulds <a...@ajf.me> wrote:
> >> On 20 Jan 2015, at 03:30, Mike Willbanks <pen...@gmail.com> wrote:
> >>
> >> I am very familiar with the in operator.  However,  the implementation
> >> would be incomplete without handling loops via the in operator.  Many
> >> people when seeing an in operator also think of JavaScript.  In that
> case
> >> the in operator iterates over properties.  As such in PHP we should be
> able
> >> to iterate over associative arrays should the syntax be added.
> >>
> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in
> >
> > Why? We already have foreach/as which does exactly that, and unlike JS
> which added for/of, there’s nothing wrong with PHP’s foreach so we don’t
> need support for a new symbol.
>
> Indeed, exactly same feature.


It certainly is the same feature from the foreach perspective.  I'm not
against leaving it out, however, it would be much like the in operator thus
providing some additional syntax sugar.  Many people that often program in
JavaScript are used to having:
array.forEach(function()),  for (property in object), etc.

>From my perspective it would seem like a hole in the implementation for it
to be missing but that is also due to having such a split of time between
the two languages.  Take for instance python utilizing the same thing:

for variable in expression:
...     code
...

as well as ruby:

for variable [, variable ...] in expression [do]
   code
end

Ultimately, I would feel that having the in operator would also create the
expectation that in PHP we would be able to achieve the following:

for ($var in $array) {} and/or for ($var in $object) {};

Certainly foreach is more rich but I believe based on other languages and
paradigms that this would be something people would request and expect if
the in operator was to make it into PHP 7.

Regards,

Mike

Reply via email to