recursive_yield_from.phpt 362 B

123456789101112131415161718192021222324252627282930313233
  1. --TEST--
  2. Check if recursion with yield from works
  3. --FILE--
  4. <?php
  5. function from($a = 0) {
  6. yield 1 + $a;
  7. if ($a <= 3) {
  8. yield from from($a + 3);
  9. yield from from($a + 6);
  10. }
  11. yield 2 + $a;
  12. }
  13. function gen() {
  14. yield from from();
  15. }
  16. foreach(gen() as $v) {
  17. var_dump($v);
  18. }
  19. ?>
  20. --EXPECT--
  21. int(1)
  22. int(4)
  23. int(7)
  24. int(8)
  25. int(10)
  26. int(11)
  27. int(5)
  28. int(7)
  29. int(8)
  30. int(2)