1Variadic functions 2----- 3<?php 4function test($a, ... $b) {} 5function test($a, &... $b) {} 6function test($a, Type ... $b) {} 7function test($a, Type &... $b) {} 8----- 9array( 10 0: Stmt_Function( 11 attrGroups: array( 12 ) 13 byRef: false 14 name: Identifier( 15 name: test 16 ) 17 params: array( 18 0: Param( 19 attrGroups: array( 20 ) 21 flags: 0 22 type: null 23 byRef: false 24 variadic: false 25 var: Expr_Variable( 26 name: a 27 ) 28 default: null 29 ) 30 1: Param( 31 attrGroups: array( 32 ) 33 flags: 0 34 type: null 35 byRef: false 36 variadic: true 37 var: Expr_Variable( 38 name: b 39 ) 40 default: null 41 ) 42 ) 43 returnType: null 44 stmts: array( 45 ) 46 ) 47 1: Stmt_Function( 48 attrGroups: array( 49 ) 50 byRef: false 51 name: Identifier( 52 name: test 53 ) 54 params: array( 55 0: Param( 56 attrGroups: array( 57 ) 58 flags: 0 59 type: null 60 byRef: false 61 variadic: false 62 var: Expr_Variable( 63 name: a 64 ) 65 default: null 66 ) 67 1: Param( 68 attrGroups: array( 69 ) 70 flags: 0 71 type: null 72 byRef: true 73 variadic: true 74 var: Expr_Variable( 75 name: b 76 ) 77 default: null 78 ) 79 ) 80 returnType: null 81 stmts: array( 82 ) 83 ) 84 2: Stmt_Function( 85 attrGroups: array( 86 ) 87 byRef: false 88 name: Identifier( 89 name: test 90 ) 91 params: array( 92 0: Param( 93 attrGroups: array( 94 ) 95 flags: 0 96 type: null 97 byRef: false 98 variadic: false 99 var: Expr_Variable( 100 name: a 101 ) 102 default: null 103 ) 104 1: Param( 105 attrGroups: array( 106 ) 107 flags: 0 108 type: Name( 109 name: Type 110 ) 111 byRef: false 112 variadic: true 113 var: Expr_Variable( 114 name: b 115 ) 116 default: null 117 ) 118 ) 119 returnType: null 120 stmts: array( 121 ) 122 ) 123 3: Stmt_Function( 124 attrGroups: array( 125 ) 126 byRef: false 127 name: Identifier( 128 name: test 129 ) 130 params: array( 131 0: Param( 132 attrGroups: array( 133 ) 134 flags: 0 135 type: null 136 byRef: false 137 variadic: false 138 var: Expr_Variable( 139 name: a 140 ) 141 default: null 142 ) 143 1: Param( 144 attrGroups: array( 145 ) 146 flags: 0 147 type: Name( 148 name: Type 149 ) 150 byRef: true 151 variadic: true 152 var: Expr_Variable( 153 name: b 154 ) 155 default: null 156 ) 157 ) 158 returnType: null 159 stmts: array( 160 ) 161 ) 162) 163