Think about it - an array is a linear structure meant specifically for random-access of index->element. To find the index of some element you will either have to go through the array looking for the element - this is O(N). You can have more time-efficient algorithms at the cost of space, like having a "mirror" hash of element->index.
As for your original problem, I also sometimes feel a little itch when I have to give up foreach once access to elements other-than-the-current is required.
In reply to Re^2: Foreach Loops
by spurperl
in thread Foreach Loops
by hubb0r
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |