.\"partitions a set of objects according to the action of a separator function .DT unique_array $MUDNAME$ driver help unique_array .SH Name .SI 5 unique_array() - partitions an array of objects into groups .EI .SH Synopsis .SI 5 mixed *unique_array( object *obarr, string separator ); mixed *unique_array( object *obarr, string separator, mixed skip ); mixed *unique_array( mixed *arr, function f ); mixed *unique_array( mixed *arr, function f, mixed skip ); .EI .SH Description .SP 5 5 Groups objects/values together for which the `separator' function returns the same value. In the first case, `separator' is a string function name to try on each object. In the second case, the function f is called with the element as the argument. If `skip' is passed, elements for which the separator function returns the same as `skip' are omitted from the return value. .EP .SH Return value .SI 5 The return value is an array of arrays of the form: .EI ({ ({Same1:1, Same1:2, Same1:3, .... Same1:N }), ({Same2:1, Same2:2, Same2:3, .... Same2:N }), ({Same3:1, Same3:2, Same3:3, .... Same3:N }), .... .... ({SameM:1, SameM:2, SameM:3, .... SameM:N }), }) .SP 5 5 i.e. an array of arrays, where each of the elements in the sub arrays returned the same value as the other elements in the same sub array. .EP