foreachLoopIterator.002.phpt 663 B

123456789101112131415161718192021222324252627
  1. --TEST--
  2. foreach with iterator and &$value reference
  3. --FILE--
  4. <?php
  5. class MyIterator implements Iterator {
  6. public function valid(): bool { return true; }
  7. public function next(): void {}
  8. public function rewind(): void {}
  9. public function current(): mixed { return null; }
  10. public function key(): mixed {return ""; }
  11. }
  12. $f = new MyIterator;
  13. echo "-----( Try to iterate with &\$value: )-----\n";
  14. foreach ($f as $k=>&$v) {
  15. echo "$k => $v\n";
  16. }
  17. ?>
  18. --EXPECTF--
  19. -----( Try to iterate with &$value: )-----
  20. Fatal error: Uncaught Error: An iterator cannot be used with foreach by reference in %s:13
  21. Stack trace:
  22. #0 {main}
  23. thrown in %s on line 13