method_call_variation_001.phpt 530 B

123456789101112131415161718192021222324252627
  1. --TEST--
  2. In $a->$b[Y]() and $a->X[Y]() both $a->$b[Y] and $a->X[Y] represent a global function name
  3. --FILE--
  4. <?php
  5. class C {}
  6. function foo($a, $b) {
  7. echo "Called global foo($a, $b)\n";
  8. }
  9. $name = 'functions';
  10. $c = new C;
  11. $c->functions[0] = 'foo';
  12. $c->functions[1][2][3][4] = 'foo';
  13. $c->$name[0](1, 2);
  14. $c->$name[1][2][3][4](3, 4);
  15. $c->functions[0](5, 6);
  16. $c->functions[1][2][3][4](7, 8);
  17. ?>
  18. --EXPECT--
  19. Called global foo(1, 2)
  20. Called global foo(3, 4)
  21. Called global foo(5, 6)
  22. Called global foo(7, 8)