BANEN, в PHP у каждого массива существует свой внутренний указатель на элемент. Его можно перемещать и кое-как использовать (например пробегать по массиву). Но в сложных алгоритмах лучше на него не закладываться, особенно если массив передается в другие блоки, которые фиг знает, где могут оставить этот указатель после своей работы.
Но в локальных контекстах это иногда очень помогает. Например:
reset($array); $first= key($array); // индекс первого элемента (если он не ноль)
end($array); $last= key($array); // индекс последнего элемента