Вы можете передать массив в качестве аргумента.Он копируется по значению (или COW'd, , что по сути означает то же самое для вас), так что вы можете array_pop()
(и тому подобное) все, что вам нравится, и не повлияет на что-либо снаружи.
function sendemail($id, $userid){
// ...
}
sendemail(array('a', 'b', 'c'), 10);
Фактически вы можете принять там только массив, поместив его тип в сигнатуру аргумента функции ...
function sendemail(array $id, $userid){
// ...
}
Вы также можете вызвать функцию с ее аргументами в виде массива....
call_user_func_array('sendemail', array('argument1', 'argument2'));