توجه کنید که از closure بازگشتی و متغیر static داخل تابع استفاده شده است و ترتیب فراخوانی تابع اهمیت دارد.
<?php
function makeCounter() {
static $base = 1;
$multiplier = 2;
$f = function($n) use (&$f, $multiplier) {
static $inner = 0;
$inner += $n;
if ($n <= 1) {
return $inner * $multiplier;
}
return $f($n - 1) + $inner;
};
$result = $f($base + 2);
$base += 2;
return $result;
}
echo makeCounter() . "\n";
echo makeCounter() . "\n";
خروجی دقیق این اسکریپت (دو خط echo شده) را بنویسید.
🔖 #PHP #پی_اچ_پی
👤 Developix
💎 Channel: @DevelopixPHP
