Biến trước khi gọi hàm ẩn danh trong PHP

Giả sử chúng ta có đoạn mã sau:

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

Đoạn mã ở trên hoạt động, vì biến $pow được viết trước khi khai báo hàm. Tuy nhiên, nếu chúng ta đặt khai báo biến trước khi gọi hàm, mọi thứ sẽ ngừng hoạt động:

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

Có thể sửa lỗi bằng cách truyền biến bằng tham chiếu:

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

Sửa mã để nó hoạt động theo cách dự định:

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