Решил задачу по PHP но не совсем верно. Помогите разобраться что не так

Решил задачу по PHP но решение не совсем удовлетворяет условию, пока слабо понимаю язык, подскажите в какую сторону копать. условие: Реализовать функцию squareTrapeze($a). $a – массив результата выполнения функции createTrapeze(). Результат ее выполнение: в исходный массив для каждой тройки чисел добавляется дополнительный ключ s, содержащий результат расчета площади трапеции со сторонами a и b, и высотой c. вот моя функция

function squareTrapeze($a)
{
    $result = array_map(function($item) {
      $item['s'] = ($item['a'] + $item['b']) * $item['c'] / 2; // считаем и записываем
      return $item;
    }, $a);
    
    return $result;
}

$arr3 = squareTrapeze($arr2);
print_r($arr3);

вот такой ответ на решение я получил:

Функция squareTrapeze($a) - по условию в исходный массив для каждой тройки чисел добавляется дополнительный ключ s, т.е. использование ссылки на переменную


Ответы (1 шт):

Автор решения: Darth KYL

Здесь не нужно использовать array_map, потому что нужно изменить исходный массив, а не создавать новый из исходного. Намного проще сделать то что хочет автор задачи примерно так

function squareTrapeze($a){
    foreach( $a as &$item ) {
        $item['s'] = ($item['a'] + $item['b']) * $item['c'] / 2;
    }

    return $a;
}
→ Ссылка