closure_004.phpt 433 B

1234567891011121314151617181920212223242526272829303132333435
  1. --TEST--
  2. Closure 004: Lambda with lexical variables (scope lifetime)
  3. --FILE--
  4. <?php
  5. function run () {
  6. $x = 4;
  7. $lambda1 = function () use ($x) {
  8. echo "$x\n";
  9. };
  10. $lambda2 = function () use (&$x) {
  11. echo "$x\n";
  12. $x++;
  13. };
  14. return array($lambda1, $lambda2);
  15. }
  16. list ($lambda1, $lambda2) = run();
  17. $lambda1();
  18. $lambda2();
  19. $lambda1();
  20. $lambda2();
  21. echo "Done\n";
  22. ?>
  23. --EXPECT--
  24. 4
  25. 4
  26. 4
  27. 5
  28. Done