PHP-də foreach dövründə istinadlar

foreach dövrü ilə işləyərkən elementlər üçün dəyişəni dəyişdirmək massivin özünə dəyişikliklər gətirmir:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    $elem++;
  }
  
  var_dump($arr); // dəyişməyəcək
?>

Ancaq, elementlər üçün dəyişəni istinad kimi elan etsək, istədiyimiz effekti əldə edə bilərik. Bu halda bu dəyişəndəki dəyişikliklər massivdə dəyişikliklərə səbəb olacaq:

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

Aşağıdakı kodu nəzərdə tutulduğu kimi işləməsi üçün düzəldin:

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

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

Aşağıdakı kodu nəzərdə tutulduğu kimi işləməsi üçün düzəldin:

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

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