bug72598_2.phpt 651 B

123456789101112131415161718192021222324252627
  1. --TEST--
  2. Bug #72598.2 (Reference is lost after array_slice())
  3. --FILE--
  4. <?php
  5. function ref(&$ref) {
  6. var_dump($ref);
  7. $ref = 1;
  8. }
  9. new class {
  10. function __construct() {
  11. $b = 0;
  12. $args = [&$b];
  13. unset($b);
  14. for ($i = 0; $i < 2; $i++) {
  15. $a = array_slice($args, 0, 1);
  16. call_user_func_array('ref', $a);
  17. }
  18. }
  19. };
  20. ?>
  21. --EXPECTF--
  22. Warning: ref(): Argument #1 ($ref) must be passed by reference, value given in %s on line %d
  23. int(0)
  24. Warning: ref(): Argument #1 ($ref) must be passed by reference, value given in %s on line %d
  25. int(0)