A #PHP variadic argument collects all the unused named parameters, along with their key. That way, it is possible to handle them with their name inside the method.
On the other hand, array_merge (and some cousins) refuse them, and emits a Fatal error.
It just tells the user politely that the names of the arguments are not part of the public API and one should not rely upon them. That is not enforced on a language level.
It does not fix that argument "names" are passed to a variadic parameter.
Add comment