Μεταβλητή πριν από την κλήση ανώνυμης συνάρτησης στην 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);
?>

Μπορούμε να διορθώσουμε το πρόβλημα, αν περάσουμε τη μεταβλητή by reference:

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

Διορθώστε τον κώδικα, ώστε να λειτουργεί με τον προβλεπόμενο τρόπο:

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