fibonacci.phpt 413 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Creating an infinite fibonacci list using a generator
  3. --FILE--
  4. <?php
  5. function fib() {
  6. list($a, $b) = [1, 1];
  7. while (true) {
  8. yield $b;
  9. list($a, $b) = [$b, $a + $b];
  10. }
  11. }
  12. foreach (fib() as $n) {
  13. if ($n > 1000) break;
  14. var_dump($n);
  15. }
  16. ?>
  17. --EXPECT--
  18. int(1)
  19. int(2)
  20. int(3)
  21. int(5)
  22. int(8)
  23. int(13)
  24. int(21)
  25. int(34)
  26. int(55)
  27. int(89)
  28. int(144)
  29. int(233)
  30. int(377)
  31. int(610)
  32. int(987)