1--TEST-- 2Type check in call_user_func_array() + array_slice() optimization 3--FILE-- 4<?php 5 6$array = [1, 2, 3]; 7 8try { 9 $len = []; 10 call_user_func_array('var_dump', array_slice($array, 0, $len)); 11} catch (TypeError $e) { 12 echo $e->getMessage(), "\n"; 13} 14 15$len = 2.0; 16call_user_func_array('var_dump', array_slice($array, 0, $len)); 17 18$len = null; 19call_user_func_array('var_dump', array_slice($array, 1, $len)); 20 21?> 22--EXPECT-- 23array_slice(): Argument #3 ($length) must be of type ?int, array given 24int(1) 25int(2) 26int(2) 27int(3) 28