yes, but `function (array $foo = NULL)` is totally acceptable. NULL literally means "not defined" and is an acceptable value for any **type** of parameter.