function foo(){
$defaults = array_merge(array_fill(0, 3, false), func_get_args());
}
foo(); //defaults is array(false, false, false);
Я предпочитаю передавать массивы функциям / методам, чем вы делаете
function foo($defaults = array()){
$defaults = array_merge(array('foo' => false, 'bar' => false, 'etc' => false), (array)$defaults);
...
echo $defaults['foo']; // always set
...
}