Тағирёбанда пеш аз фарохонӣ кардани функсияи беимен дар PHP
Бигзор мо рамзи зеринро дорем:
<?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();
?>