SYNOPSIS ** unique_array( *obj , string|closure fun) ** unique_array( *obj , string|closure fun, mixed skip) ** unique_array( *obj , string|closure fun, mixed extra... , mixed skip) BESCHREIBUNG Gruppiert alle Objekte aus <*obj>, fuer die die Funktion den gleichen Wert liefert. Wenn <*obj> etwas anderes als Objekte enthaelt, werden diese ignoriert. Ist die Funktion mit Namen angegeben, wird sie in jedem Objekt in <*obj> einmal aufgerufen. Wurden Argumente gegeben, werden diese an die Funktion bei jedem Aufruf als Parameter uebergeben. Ist die Funktion als Closure angegeben, wird sie fuer jedes Objekt in <*obj> einmal aufgerufen, wobei das Objekt als erstes Argument uebergeben wird, gefolgt von etwaiigen Argumenten. Wird ein Argument angegeben (bei Verwendung von Argumenten muss dies geschehen), und entspricht dem Resultat von fuer ein Element aus <*obj>, so wird dieses Element nicht in das Resultat von unique_array() uebernommen. Das Resultat von unique_array() hat die Form: ({ ({same1:1, same1:2, ... same1:n}), ({same2:1, same2:2, ... same2:n}), ({samem:1, samem:2, ... samem:n}) }) BEISPIELE Um ein Array von Arrays zu erhalten, das alle Benutzer, nach Level gruppiert, enthaelt: mixed *arr; arr = unique_array(users(), "_query_level", -1); Goetter haben einen Level von -1. Sie werden nicht in arr aufgenommen, weil == -1. SIEHE AUCH filter(E), map(E)