SYNOPSIS
        int member(mixed *array, mixed elem [, int start])
        int member(string s, int elem [, int start])
        int member(bytes s, int elem [, int start])
        int member(mapping map, mixed key)

BESCHREIBUNG
        Fuer Arrays, String und Bytefolgen liefert member() den Index
        des ersten Auftretens von <elem> in <arg>. Ist <elem> nicht
        in <arg> enthalten, wird -1 zurueck gegeben.

        Ist <start> als Zahl >= 0 gegeben, beginnt die Suche ab der
        angegebenen Position. Eine Startposition groesser als die
        Laenge des Strings/Arrays liefert stets das Resultat -1.

        Fuer Mapping prueft member(), ob <key> in <map> enthalten ist und
        liefert 1 zurueck falls ja, 0 sonst.

GESCHICHTE
        LDMud 3.3.556 fuegte den <start>-Parameter hinzu.

SIEHE AUCH
        rmember(E), mappings(LPC)
