PHP-তে foreach লুপে রেফারেন্স
foreach লুপ ব্যবহার করার সময়
এলিমেন্ট ভেরিয়েবল পরিবর্তন করলে
আসল অ্যারে পরিবর্তিত হয় না:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
$elem++;
}
var_dump($arr); // পরিবর্তন হবে না
?>
যাইহোক, কাঙ্ক্ষিত প্রভাব অর্জন করা সম্ভব, যদি এলিমেন্টের জন্য ভেরিয়েবলটি রেফারেন্স হিসাবে ঘোষণা করা হয়। এই ক্ষেত্রে এই ভেরিয়েবলের পরিবর্তন অ্যারেতে পরিবর্তন সৃষ্টি করবে:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem++;
}
var_dump($arr); // পরিবর্তিত হবে
?>
নিম্নলিখিত কোডটি সংশোধন করুন যাতে, এটি উদ্দেশ্য অনুযায়ী কাজ করে:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem = sqrt($elem);
}
var_dump($arr);
?>
নিম্নলিখিত কোডটি সংশোধন করুন যাতে, এটি উদ্দেশ্য অনুযায়ী কাজ করে:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem ** 2;
}
var_dump($arr);
?>