Wie erstellt man Arrays von Objekten in PHP ohne Angabe einer Indexnummer?

8

Hier ist eine komische Frage. Ich baue ein Array von Objekten manuell, wie folgt:

%Vor%

Ich mag, wie klar ist das, aber weil ich die Indexnummer angeben muss, kann ich sie nicht einfach neu anordnen. Wie kann ich das ohne die Indexnummer machen? Verwandte, was ist ein besserer Weg, dies zu tun?

Ich habe auch versucht, dies zu schreiben, indem ich eine Klasse gemacht habe und jede Stelle auf dem Array Instanzen dieser Klasse sein soll. Aber da es sich um eine Konfigurationsdatei handelt, war es schwer zu lesen und zu wissen, welches Argument mit welchem ​​Parameter verwendet wurde. Deshalb habe ich diese Methode der alten Schule gewählt.

Irgendwelche Gedanken werden sehr geschätzt!

    
dylanized 14.09.2010, 09:42
quelle

5 Antworten

19

Dieser Code

%Vor%

ist sowieso ungültig - Sie erhalten eine "strikte" Warnung, wenn Sie das Objekt nicht richtig initialisieren. Sie müssen also irgendwie ein Objekt konstruieren - entweder mit einem Konstruktor:

%Vor%

oder mit einem stdclass-Cast

%Vor%     
user187291 14.09.2010, 09:53
quelle
4

Wenn Sie Arrays mit benannten Schlüsseln anstelle von Objekten erstellen, können Sie Folgendes tun:

%Vor%

Sie können dies mit Fanis 'Lösung kombinieren und die Nacktschnecken als Schlüssel verwenden, wenn Sie möchten.

    
Samir Talwar 14.09.2010 09:51
quelle
2

Wenn Sie keine $pages_array -Elemente an anderer Stelle setzen, können Sie eine einfache Variable festlegen.

%Vor%

Sie müssen nur daran denken, $i jedes Mal zu erhöhen, damit Sie ein Element nicht überschreiben.

    
Aether 14.09.2010 10:02
quelle
1

Unter der Annahme, dass der Slug eindeutig ist, können Sie ihn zum Identifizieren Ihrer Seiten-Arrays verwenden:

%Vor%

usw.

Sie müssen nur den Array-Schlüssel verwenden, um Ihren Slug-Wert zu erhalten.

    
Fanis 14.09.2010 09:48
quelle
0

Wenn Sie Sequenzindizes pflegen wollen. Möge das helfen.

%Vor%

Überprüfen

    
NAVEED 14.09.2010 09:58
quelle

Tags und Links