Врски во foreach во PHP

При работа со циклусот foreach промената на променливата за елементите не доведува до промени во самиот низа:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    $elem++;
  }
  
  var_dump($arr); // нема да се промени
?>

Сепак, посакуваниот ефект може да се постигне, ако се декларира променливата за елементите како врска. Во овој случај, промените на оваа променлива ќе доведат до промени во низата:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as &$elem) {
    $elem++;
  }
  
  var_dump($arr); // ќе се промени
?>
Задание 1

Исправете го следниов код така што ќе работи согласно замислата:

php<?php
  $arr = [1, 2, 3, 4, 5];

  foreach ($arr as &$elem) {
    $elem = sqrt($elem);
  }
  
  var_dump($arr); 
?>
Задание 2

Исправете го следниов код така што ќе работи согласно замислата:

php<?php
  $arr = [1, 2, 3, 4, 5];

  foreach ($arr as &$elem) {
    $elem ** 2;
  }
  
  var_dump($arr); 
?>