it4baer
Goto Top

Schnellste Auswahl in Objekten

Hallo,

ich bin auf der Suche, nach einer effizienten Methode Objekte zu durchsuchen und das gesuchte Element "zurückzugeben"...

Als kleines Beispiel habe ich hier ein einfaches Objekt aufgebaut:
$testObj = new stdClass();
$testObj->ebene = new stdClass();
$testObj->ebene->Id = 5;
$testObj->ebene->Name = "test1";  
$testObj->ebene[1] = new stdClass();
$testObj->ebene[1]->Id = 7;
$testObj->ebene[1]->Name = "test2";  

in diesen Objekt will ich jetzt nach "Name" suchen...

mit einer foreach schleife, könnte ich jetzt alle "ebenen" durchlaufen und schauen welcher Name meinem "gesuchten" namen entspricht...

jetzt wäre die Frage, ob dies Effizienter geht <- z.B. wenn es statt 2 Elemente evtl. 200000 Elemente sind.

Foreach funktioniert... aber wie gesagt, ich möchte meinen Horizont erweitern.
<- PS. die Objekte werden extern aufgebaut, ich habe leider keinen Einfluss drauf.

stdClass Object
(
    [ebene] => Array
        (
             => stdClass Object
                (
                    [Id] => 5
                    [Name] => test1
                )

            [1] => stdClass Object
                (
                    [Id] => 7
                    [Name] => test2
                )

        )

)

Content-Key: 337853

Url: https://administrator.de/contentid/337853

Printed on: April 19, 2024 at 07:04 o'clock

Mitglied: 132895
132895 May 16, 2017 updated at 16:11:47 (UTC)
Goto Top
<- PS. die Objekte werden extern aufgebaut, ich habe leider keinen Einfluss drauf.
Wenn das Objekt unbekannt ist wird dir nichts anderes übrig bleiben als es mit einer rekursiven Funktion zu durchlaufen. Anders machen es die Funktionen wie array_walk_recursive auch nicht.

Gruß