This one makes sense in theory, because array_map(null, ...$arrays) is a
way to perform a zip operation in PHP. Unfortunately there is an ugly
special case if there is only a single array, which makes this not actually
usable in practice, unless you know that there are at least two arrays. As
such, accepting zero arrays wouldn't be very useful unless we also want to
fix that issue (PHP 8 maybe?)
Ah, I overlooked that edge case. Indeed, array_map()
would require more
fixing than I anticipated. I guess it is out of scope for the type of
fix we are discussing.
array_diff()
& friends
array_intersect()
& friends
These look like good candidates for allowing a single arg.
For array_intersect()
, I was actually considering to allow zero
arguments. The use case I have in mind is to determine the common
elements in a set of zero or more arrays, like this:
array_intersect(...$arrays)
If that would just return an empty array when $arrays is empty, no
additional empty check is needed and the above would do what I
intuitively expect it to do.