почему ошибку выдает?
Потому что вы условие задачи до конца не прочитали. Или прочитали, но не поняли. Что должна делать ваша функция:
It should take an array of numbers as its argument and return the two highest numbers within the array.
Что означает "return" знаете? Никакого foreach-echo не надо:
function twoOldestAges($ages) {
sort($ages);
return array_slice($ages, -2);
}
А вообще, от вас при решении этой задачи другого ждут, сложность должна быть линейной:
function twoOldestAges($ages) {
$a = -INF;
$b = -INF;
foreach ($ages as $n) {
if ($n > $a) {
$b = $a;
$a = $n;
} else if ($n > $b) {
$b = $n;
}
}
return [ $b, $a ];
}