Пераменная перад выклікам ананімнай функцыі ў 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();
?>