It has nothing to do with arrays (except that your example is taken from the documentation of a method on the array type). The square bracket means an optional argument and this is a convention used in most programming languages and tools. For example, the help for the ls command:
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
... or cp:
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory
Your example means that the function takes at least one argument and more arguments can be added separated by a comma. According to the docs these values can be Arrays and/or values to concatenate into a new array. So, each valueN can be an array or a value to add to the returned array.
The reason not to use the ... notation is probably because the square brackets have been used for decades and are widespread, so readers will be familiar with the syntax no matter what the subject is.
,and square bracket[]