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