PHP да аноним функция чақирилишидан олдинги ўзгарувчи

Фарз қилайлик, бизда куйидаги код бор:

php<?php
  $pow = 2;
  
  $func = function($num) use ($pow)
  {
    return $num ** $pow;
  };
  
  echo $func(4);
?>

Юқоридаги код ишлайди, чунки $pow ўзгарувчиси функция эълон қилинишидан олдин ёзилган. Аммо, агар биз ўзгарувчи эълонини функция чақирилишидан олдин қўйсак, ҳамма нарса ишлашни тўхтатади:

php<?php
  $func = function($num) use ($pow)
  {
    return $num ** $pow;
  };
  
  $pow = 2;
  echo $func(4);
?>

Муаммони ўзгарувчини ишора орқали ўтказсак, тузатиш мумкин:

php<?php
  $func = function($num) use (&$pow)
  {
    return $num ** $pow;
  };
  
  $pow = 2;
  echo $func(4);
?>
Задание 1

Кодни ўз режалаштирилган usulda ишлаши учун тузатинг:

php<?php
  $func = function() use ($num1, $num2)
  {
    return $num1 + $num2;
  };
  
  $num1 = 2;
  $num2 = 3;
  echo $func();
?>