[eluser]Aken[/eluser]
NULL would still be the appropriate return. How is the application supposed to know that a POST item is an array, if no POST data has been sent? When accessing POST variables, there's no array syntax [] stuck on the names, so it has no way of discerning whether a non-existant variable is supposed to be an array or not.
If you send a single array-syntax item that's empty, it will return an array with a single empty string value, equivalent to:
If you send nothing, it will return FALSE (or NULL with the proposed changes).