On Wed, Jul 3, 2013 at 10:01 PM, Chris London <m...@chrislondon.co> wrote:
> Hello community, > > This is my first post here. I hope to improve my participation in the > community and give back to the technology that has done so much for my > career. My first attempt is to propose an additional syntax for the > Foreach statement. > > Background: > > There are times in our code where we can leave things blank that we don't > need, such as: > > for ( ; ; ) { > > } > > - and - > > list( , $foo, $bar) = array('ignore', 'myFoo', 'myBar'); > > Proposal: > > I have found over the years that there are times when I want to loop > through an associative array but I don't need the value. I would like to > allow the following syntax: > > foreach ($array as $key => ) { > > } > > Please let me know your thoughts. > > Thanks > Chris London > While it does sometimes happen that you do not need the value, it's not particularly common and as such I don't think it's necessary to add additional syntax for this case. It's fairly straightforward to abstract this behavior away into a separate function used as follows: foreach (keys($iterable) as $key) { ... } Where the keys function is defined as: function keys($iterable) { foreach ($iterable as $key => $_) { yield $key; } } This is something you write once (with the slightly ugly $key => $_), but can then always use to have clear code :) Of course, as already said in the other mail, for arrays the keys() function already exists as array_keys(), so you don't even have to write anything yourself. Nikita