PHPにおけるforeachの参照渡し

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); 
?>