In the description square brackets indicate optional parameters.
So with something like the following:
bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )
if you break things down you have:
bool array_mult...
1) bool
indicates that the type returned is boolean
bool array_multisort ( array &$array1...
2) array &$array1
indicates that the first parameter must be an array and that the array is taken by reference (in other words the array that you pass as parameter will be directly modified by the function)
bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC...
3) [, mixed $array1_sort_order = SORT_ASC
means that there could be an optional second parameter, the type is not forced to a specific type (an array or a non array are both accepted) and the default value is the constant SORT_ASC
bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR...
4) [, mixed $array1_sort_flags = SORT_REGULAR
is another optional field that could be specified if the previous one (3) is specified (in fact it is under the same square bracket). As previously mixed
implies that the type is not mandatory and there is a default value (SORT_REGULAR
).
bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )
5) Finally, [, mixed $... ]
, the inner square bracket, is an optional parameter available if you specified the other two, and implies that you can have more parameters following the same path as the previous ones (2, 3 and 4) to specify more arrays, orders and flags.