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