fork download
  1. <?php
  2. function createCounter($counter = 1)
  3. {
  4. $counter -= 1;
  5. return function() use (&$counter)
  6. {
  7. $counter++;
  8. return $counter;
  9. };
  10.  
  11. }
  12.  
  13. $c1 = createCounter(2); // создаем первый счетчик
  14. //считаем с начиная с 2
  15. echo $c1() . "\n"; // выводит 2
  16. echo $c1() . "\n"; // выводит 3
  17. echo $c1() . "\n"; // выводит 4
  18. //считаем начиная с 20
  19. $c2 = createCounter(20); // создаем вторую независимую функцию-счетчик
  20. echo $c2() . "\n"; // выводит 20
  21. echo $c2() . "\n"; // выводит 21
Success #stdin #stdout 0.01s 82880KB
stdin
Standard input is empty
stdout
 2
3
4
20
21