PHP ရှိ foreach အတွင်းရှိ လင့်များ

foreach loop ကို အလုပ်လုပ်စဉ်တွင် အချက်များအတွက် variable ကို ပြောင်းလဲခြင်းသည် array ကိုယ်တိုင်၌ ပြောင်းလဲမှုများ ဖြစ်ပေါ်စေခြင်း မရှိပါ။

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    $elem++;
  }
  
  var_dump($arr); // မပြောင်းလဲပါ
?>

သို့သော်၊ အချက်များအတွက် variable ကို လင့်အဖြစ် ကြေညာလိုက်လျှင် လိုအပ်သော သက်ရောက်မှုကို ရရှိနိုင်ပါသည်။ ဤသို့ဖြစ်လျှင် ဤ variable ၏ ပြောင်းလဲမှုများသည် array အတွင်း ပြောင်းလဲမှုများကို ဖြစ်ပေါ်စေပါမည်။

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