summaryrefslogtreecommitdiff
path: root/tests/lang/func_num_args.004.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lang/func_num_args.004.phpt')
-rw-r--r--tests/lang/func_num_args.004.phpt48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/lang/func_num_args.004.phpt b/tests/lang/func_num_args.004.phpt
new file mode 100644
index 0000000..8bdc6f0
--- /dev/null
+++ b/tests/lang/func_num_args.004.phpt
@@ -0,0 +1,48 @@
+--TEST--
+Pass same variable by ref and by value.
+--FILE--
+<?php
+function valRef($x, &$y) {
+ var_dump($x, $y);
+ var_dump(func_num_args());
+ $x = 'changed.x';
+ $y = 'changed.y';
+ var_dump(func_num_args());
+}
+
+function refVal(&$x, $y) {
+ var_dump($x, $y);
+ var_dump(func_num_args());
+ $x = 'changed.x';
+ $y = 'changed.y';
+ var_dump(func_num_args());
+}
+
+
+echo "\n\n-- Val, Ref --\n";
+$a = 'original.a';
+valRef($a, $a);
+var_dump($a);
+
+echo "\n\n-- Ref, Val --\n";
+$b = 'original.b';
+refVal($b, $b);
+var_dump($b);
+?>
+--EXPECTF--
+
+
+-- Val, Ref --
+string(10) "original.a"
+string(10) "original.a"
+int(2)
+int(2)
+string(9) "changed.y"
+
+
+-- Ref, Val --
+string(10) "original.b"
+string(10) "original.b"
+int(2)
+int(2)
+string(9) "changed.x"