1--TEST-- 2Variadic arguments enforce types 3--FILE-- 4<?php 5 6function test(array... $args) { 7 var_dump($args); 8} 9 10test(); 11test([0], [1], [2]); 12test([0], [1], 2); 13 14?> 15--EXPECTF-- 16array(0) { 17} 18array(3) { 19 [0]=> 20 array(1) { 21 [0]=> 22 int(0) 23 } 24 [1]=> 25 array(1) { 26 [0]=> 27 int(1) 28 } 29 [2]=> 30 array(1) { 31 [0]=> 32 int(2) 33 } 34} 35 36Fatal error: Uncaught TypeError: Argument 3 passed to test() must be of the type array, integer given, called in %s:%d 37Stack trace: 38#0 %s(%d): test(Array, Array, 2) 39#1 {main} 40 thrown in %s on line %d 41