Using array_splice when you traverse array with internal pointer's function reset the array, eg:
<?php
end($arrOfData);
$last = key($arrOfData);
reset($arrOfData);
while (($data = current($arrOfData))) {
if ($last === key($arrOfData)) {
array_splice($arrOfData, $last, 1);
// current($arrOfData) => first value of $arrOfData
}
}