« Zurück zu Produkt

Dokumentation

IPS_FindObjectIDByName

 int IPS_FindObjectIDByName (string $ObjektName, int $ÜbergeordneteID) 

Parameterliste

ObjektName

Zu suchender ObjektName

ÜbergeordneteID

Objekt, in dessen direkten Unterobjekten gesucht werden soll

Rückgabewert

ID des ersten gefundenen Objekts, andernfalls 1 (ungültige ID)

Beschreibung

Die Funktion sucht unter den direkten Unterobjekten des Objekts mit der ID ÜbergeordneteID nach einem Objekt mit dem Namen ObjektName und liefert dessen ID. Tiefer verschachtelte Objekte werden nicht durchsucht. Der Vergleich erfolgt exakt (Groß-/Kleinschreibung wird beachtet), der Objekttyp spielt keine Rolle. Als ÜbergeordneteID ist auch 0 (Wurzel) erlaubt.

Im Unterschied zu IPS_GetObjectIDByName schlägt die Funktion nicht fehl, wenn kein passendes Objekt existiert, sondern liefert die ungültige ID 1.

Warning

Wird kein Objekt gefunden, ist das Ergebnis 1 und nicht FALSE oder 0. Gültige Objekt-IDs sind immer größer oder gleich 10000, daher sollte das Ergebnis explizit mit 1 verglichen werden.

Warning

Da Namen nicht eindeutig sind, wird bei mehreren gleichnamigen Objekten die ID des ersten gefundenen Objekts geliefert. Für eine eindeutige Suche sollte IPS_FindObjectIDByIdent verwendet werden.

Ist ObjektName ein Leerstring, schlägt die Funktion mit "Name cannot be empty" fehl. Existiert das Objekt ÜbergeordneteID nicht, schlägt sie mit "Object #... does not exist" fehl.

Beispiel

$id = IPS_FindObjectIDByName("Temperatur", 12345);
if ($id === 1) {
    echo "Kein Objekt mit dem Namen 'Temperatur' gefunden";
} else {
    echo "Gefunden: #" . $id;
}
Haben Sie noch Fragen?