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