Változó egy névtelen függvény hívása előtt PHP-ben
Tegyük fel, hogy a következő kódunk van:
<?php
$pow = 2;
$func = function($num) use ($pow)
{
return $num ** $pow;
};
echo $func(4);
?>
A fenti kód működik,
mert a $pow változó
a függvény deklarálása előtt szerepel.
Azonban, ha a változó deklarációját
a függvény hívása elé helyezzük,
minden leáll:
<?php
$func = function($num) use ($pow)
{
return $num ** $pow;
};
$pow = 2;
echo $func(4);
?>
A probléma megoldható, ha a változót referenciával adjuk át:
<?php
$func = function($num) use (&$pow)
{
return $num ** $pow;
};
$pow = 2;
echo $func(4);
?>
Javítsa a kódot, hogy a tervezett módon működjön:
<?php
$func = function() use ($num1, $num2)
{
return $num1 + $num2;
};
$num1 = 2;
$num2 = 3;
echo $func();
?>