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

කේතය අදහස් කළ ආකාරයට ක්‍රියා කිරීමට සංශෝධනය කරන්න:

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