array_019.phpt 725 B

123456789101112131415161718192021222324252627282930
  1. --TEST--
  2. SPL: ArrayIterator and foreach by reference
  3. --FILE--
  4. <?php
  5. $ar = new ArrayObject(array(1)); foreach($ar as &$v) var_dump($v);
  6. $ar = new ArrayIterator(array(2)); foreach($ar as &$v) var_dump($v);
  7. $ar = new RecursiveArrayIterator(array(3)); foreach($ar as &$v) var_dump($v);
  8. class ArrayIteratorEx extends ArrayIterator
  9. {
  10. function current()
  11. {
  12. return ArrayIterator::current();
  13. }
  14. }
  15. $ar = new ArrayIteratorEx(array(4)); foreach($ar as $v) var_dump($v);
  16. $ar = new ArrayIteratorEx(array(5)); foreach($ar as &$v) var_dump($v);
  17. ?>
  18. ===DONE===
  19. <?php exit(0); ?>
  20. --EXPECTF--
  21. int(1)
  22. int(2)
  23. int(3)
  24. int(4)
  25. Fatal error: An iterator cannot be used with foreach by reference in %sarray_019.php on line %d