There is actually some consistency, array functions have the same parameter order and string functions have theirs, it just different order between these two groups of functions.
Except when they have different order :)
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
array_map(?callable $callback, array $array, array ...$arrays): array