পিএইচপিতে বেনামে ফাংশন কল করার আগে ভেরিয়েবল
ধরুন আমাদের নিম্নলিখিত কোড রয়েছে:
<?php
$pow = 2;
$func = function($num) use ($pow)
{
return $num ** $pow;
};
echo $func(4);
?>
উপরের কোডটি কাজ করে,
কারণ $pow ভেরিয়েবল
ফাংশন ঘোষণার আগে লেখা আছে।
যাইহোক, আমরা যদি ভেরিয়েবল ঘোষণা
ফাংশন কল করার আগে রাখি,
সবকিছু কাজ করা বন্ধ হয়ে যাবে:
<?php
$func = function($num) use ($pow)
{
return $num ** $pow;
};
$pow = 2;
echo $func(4);
?>
রেফারেন্স দ্বারা ভেরিয়েবল পাস করলে সমস্যা ঠিক করা যেতে পারে:
<?php
$func = function($num) use (&$pow)
{
return $num ** $pow;
};
$pow = 2;
echo $func(4);
?>
কোডটি সংশোধন করুন যাতে এটি উদ্দেশ্য অনুযায়ী কাজ করা শুরু করে:
<?php
$func = function() use ($num1, $num2)
{
return $num1 + $num2;
};
$num1 = 2;
$num2 = 3;
echo $func();
?>