どうでもいい小ネタ。
$last = end($array);
$first = reset($array);
順番をひっくり返すと副作用(内部ポインタズレ)が発生するので注意。
普通にコード書いてれば影響ないと思うけど、while使うような酔狂な人がいたら要注意。
keyも合わせて取得するならこんな感じ。
$last = end($array);
$last_key = key($array);
$first = reset($array);
$first_key = key($array);