Use a variable to track how many elements have been iterated so far and cut the loop when it reaches the end:
$count = count($array);
foreach ($array as $key => $val) {
if (--$count <= 0) {
break;
}
echo "$key = $val\n";
}
If you don't care about memory, you can iterate over a shortened copy of the array:
foreach (array_slice($array, 0, count($array) - 1) as $key => $val) {
echo "$key = $val\n";
}