summaryrefslogtreecommitdiff
path: root/Zend/tests/variadic/basic.phpt
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2013-09-26 18:39:17 +0200
committerNikita Popov <nikic@php.net>2013-09-26 18:39:17 +0200
commit0d7a6388663b76ebed6585ac92dfca5ef65fa7af (patch)
tree1317a8a47c0e4bd1193c8fbf705d91ae75140f78 /Zend/tests/variadic/basic.phpt
parent6daa04a4f606f8121d9f1ea6cd90c1c8a684500e (diff)
downloadphp-git-0d7a6388663b76ebed6585ac92dfca5ef65fa7af.tar.gz
Implement variadic function syntax
As per RFC: https://wiki.php.net/rfc/variadics
Diffstat (limited to 'Zend/tests/variadic/basic.phpt')
-rw-r--r--Zend/tests/variadic/basic.phpt57
1 files changed, 57 insertions, 0 deletions
diff --git a/Zend/tests/variadic/basic.phpt b/Zend/tests/variadic/basic.phpt
new file mode 100644
index 0000000000..810d4756aa
--- /dev/null
+++ b/Zend/tests/variadic/basic.phpt
@@ -0,0 +1,57 @@
+--TEST--
+Basic variadic function
+--FILE--
+<?php
+
+function test1(... $args) {
+ var_dump($args);
+}
+
+test1();
+test1(1);
+test1(1, 2, 3);
+
+function test2($arg1, $arg2, ...$args) {
+ var_dump($arg1, $arg2, $args);
+}
+
+test2(1, 2);
+test2(1, 2, 3);
+test2(1, 2, 3, 4, 5);
+
+?>
+--EXPECT--
+array(0) {
+}
+array(1) {
+ [0]=>
+ int(1)
+}
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+}
+int(1)
+int(2)
+array(0) {
+}
+int(1)
+int(2)
+array(1) {
+ [0]=>
+ int(3)
+}
+int(1)
+int(2)
+array(3) {
+ [0]=>
+ int(3)
+ [1]=>
+ int(4)
+ [2]=>
+ int(5)
+}