closure_009.phpt 374 B

12345678910111213141516171819202122232425262728293031
  1. --TEST--
  2. Closure 009: Using static vars inside lambda
  3. --FILE--
  4. <?php
  5. $a = 1;
  6. $x = function ($x) use ($a) {
  7. static $n = 0;
  8. $n++;
  9. $a = $n.':'.$a;
  10. echo $x.':'.$a."\n";
  11. };
  12. $y = function ($x) use (&$a) {
  13. static $n = 0;
  14. $n++;
  15. $a = $n.':'.$a;
  16. echo $x.':'.$a."\n";
  17. };
  18. $x(1);
  19. $x(2);
  20. $x(3);
  21. $y(4);
  22. $y(5);
  23. $y(6);
  24. ?>
  25. --EXPECT--
  26. 1:1:1
  27. 2:2:1
  28. 3:3:1
  29. 4:1:1
  30. 5:2:1:1
  31. 6:3:2:1:1