Skip to content

Instantly share code, notes, and snippets.

@jawira
Created September 23, 2020 09:04
Show Gist options
  • Save jawira/bbb465b08d7b22a1dd81c650a058a3bb to your computer and use it in GitHub Desktop.
Save jawira/bbb465b08d7b22a1dd81c650a058a3bb to your computer and use it in GitHub Desktop.
Recursivity with anonymous function
<?php
namespace Jawira\Tests;
use function sleep;
function write($message): void
{
echo $message;
}
$countdown = function (int $value, callable $myFn, int $delay = 1) use (&$countdown) {
$myFn($value);
sleep($delay);
return $value > 0 ? $countdown(--$value, $myFn, $delay) : $value;
};
$countdown(10, write::class);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment