Viittaukset foreach-silmukassa PHP:ssä

Kun työskentelet foreach-silmukan kanssa, elementtimuuttujan muuttaminen ei johda itse taulukon muutoksiin:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    $elem++;
  }
  
  var_dump($arr); // ei muutu
?>

Haluttuun tulokseen voidaan kuitenkin päästä, jos esitellään elementtien muuttuja viittauksena. Tällöin tämän muuttujan muutokset johtavat muutoksiin taulukossa:

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

Korjaa seuraava koodi niin, että se toimii suunnitellulla tavalla:

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

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

Korjaa seuraava koodi niin, että se toimii suunnitellulla tavalla:

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

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