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: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |