Thay đổi biến ngoại vi của hàm ẩn danh trong PHP

Các biến ngoại vi được thay đổi bên trong hàm ẩn danh sẽ không thay đổi bên ngoài:

php<?php
  $num = 1;
  
  $func = function() use ($num)
  {
    $num = 2;
  };
  
  $func();
  echo $num; // 1
?>

Để các thay đổi được áp dụng, cần truyền biến theo tham chiếu:

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

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

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