bug75717.phpt 570 B

1234567891011121314151617181920212223242526
  1. --TEST--
  2. Bug #75717: RecursiveArrayIterator does not traverse arrays by reference
  3. --FILE--
  4. <?php
  5. function flatten(array $nestedArraysAndStrings){
  6. $flat=[];
  7. $iter = new RecursiveIteratorIterator(
  8. new RecursiveArrayIterator($nestedArraysAndStrings));
  9. foreach($iter as $leaf){ $flat[] = $leaf; }
  10. return join('', $flat);
  11. }
  12. $noRefs = [[[['some']]],[' nested '],"items"];
  13. $withRefs = []+$noRefs;
  14. $wat = $noRefs[0];
  15. $withRefs[0] = &$wat;
  16. echo flatten($noRefs), "\n";
  17. echo flatten($withRefs), "\n";
  18. ?>
  19. --EXPECT--
  20. some nested items
  21. some nested items