Роҳҳо дар foreach дар PHP

Дар кор бо даври 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); 
?>