I just saw this RFC:

https://wiki.php.net/rfc/foreach-non-scalar-keys

By "non-scalar", presumably we're talking about objects? In the numbers
that e.g. resources typically get used, having a collection indexed by
resources would seem like an extremely exotic need.

Moreover, we already have this:

http://php.net/manual/en/class.splobjectstorage.php

I just want to note that, while allowing non-scalar keys may seem like a
natural addition, we're not talking about a simple change to the foreach
statement - we're talking about a fundamental change to the array type.

So I will point out two things:

1. Allowing non-scalar keys in arrays takes away an error-condition that
would normally be reported: accidentally using an object as a key (which
could even work in some cases, and could cause objects not to be garbage
collected.)

2. SplObjectStorage already solves this problem - minus e.g. resources, but
you could put your resources in an object and address that (very exotic)
need.

Bottom line, I'm not in favor of this idea - it just doesn't seem necessary
or really even beneficial to me.

- Rasmus Schultz

Reply via email to