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 hooks: array( 30 ) 31 ) 32 1: Param( 33 attrGroups: array( 34 ) 35 flags: 0 36 type: null 37 byRef: false 38 variadic: true 39 var: Expr_Variable( 40 name: b 41 ) 42 default: null 43 hooks: array( 44 ) 45 ) 46 ) 47 returnType: null 48 stmts: array( 49 ) 50 ) 51 1: Stmt_Function( 52 attrGroups: array( 53 ) 54 byRef: false 55 name: Identifier( 56 name: test 57 ) 58 params: array( 59 0: Param( 60 attrGroups: array( 61 ) 62 flags: 0 63 type: null 64 byRef: false 65 variadic: false 66 var: Expr_Variable( 67 name: a 68 ) 69 default: null 70 hooks: array( 71 ) 72 ) 73 1: Param( 74 attrGroups: array( 75 ) 76 flags: 0 77 type: null 78 byRef: true 79 variadic: true 80 var: Expr_Variable( 81 name: b 82 ) 83 default: null 84 hooks: array( 85 ) 86 ) 87 ) 88 returnType: null 89 stmts: array( 90 ) 91 ) 92 2: Stmt_Function( 93 attrGroups: array( 94 ) 95 byRef: false 96 name: Identifier( 97 name: test 98 ) 99 params: array( 100 0: Param( 101 attrGroups: array( 102 ) 103 flags: 0 104 type: null 105 byRef: false 106 variadic: false 107 var: Expr_Variable( 108 name: a 109 ) 110 default: null 111 hooks: array( 112 ) 113 ) 114 1: Param( 115 attrGroups: array( 116 ) 117 flags: 0 118 type: Name( 119 name: Type 120 ) 121 byRef: false 122 variadic: true 123 var: Expr_Variable( 124 name: b 125 ) 126 default: null 127 hooks: array( 128 ) 129 ) 130 ) 131 returnType: null 132 stmts: array( 133 ) 134 ) 135 3: Stmt_Function( 136 attrGroups: array( 137 ) 138 byRef: false 139 name: Identifier( 140 name: test 141 ) 142 params: array( 143 0: Param( 144 attrGroups: array( 145 ) 146 flags: 0 147 type: null 148 byRef: false 149 variadic: false 150 var: Expr_Variable( 151 name: a 152 ) 153 default: null 154 hooks: array( 155 ) 156 ) 157 1: Param( 158 attrGroups: array( 159 ) 160 flags: 0 161 type: Name( 162 name: Type 163 ) 164 byRef: true 165 variadic: true 166 var: Expr_Variable( 167 name: b 168 ) 169 default: null 170 hooks: array( 171 ) 172 ) 173 ) 174 returnType: null 175 stmts: array( 176 ) 177 ) 178) 179