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