diff options
Diffstat (limited to 'tests/classes/__call_003.phpt')
-rw-r--r-- | tests/classes/__call_003.phpt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/classes/__call_003.phpt b/tests/classes/__call_003.phpt new file mode 100644 index 0000000000..c7aa95cb04 --- /dev/null +++ b/tests/classes/__call_003.phpt @@ -0,0 +1,33 @@ +--TEST-- +Force pass-by-reference to __call +--FILE-- +<?php + class C + { + function __call($name, $values) + { + $values[0][0] = 'changed'; + } + } + + $a = array('original'); + + $b = array('original'); + $hack =& $b[0]; + + $c = new C; + $c->f($a); + $c->f($b); + + var_dump($a, $b); +?> +--EXPECTF-- +array(1) { + [0]=> + string(8) "original" +} +array(1) { + [0]=> + &string(7) "changed" +} + |