Reference v foreach v PHP

Při práci se smyčkou foreach změna proměnné pro prvky nevede ke změnám samotného pole:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    $elem++;
  }
  
  var_dump($arr); // nezmění se
?>

Požadovaného efektu však lze dosáhnout, pokud deklarujeme proměnnou pro prvky jako referenci. V tomto případě změny této proměnné povedou ke změnám v poli:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as &$elem) {
    $elem++;
  }
  
  var_dump($arr); // změní se
?>
Задание 1

Opravte následující kód tak, aby fungoval podle záměru:

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

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

Opravte následující kód tak, aby fungoval podle záměru:

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

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