Решил задачу по 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 шт):
Здесь не нужно использовать array_map, потому что нужно изменить исходный массив, а не создавать новый из исходного. Намного проще сделать то что хочет автор задачи примерно так
function squareTrapeze($a){
foreach( $a as &$item ) {
$item['s'] = ($item['a'] + $item['b']) * $item['c'] / 2;
}
return $a;
}