Array inhalt anzeigen
Boubou,
- php
hallo alle zusammen ich hab jetzt in Büchern und und einigen foren geguckt über das ausgeben der Arrayinhalte in einem Skript. Nur da wurde eine funktion gemacht wo in das Feld die Daten eingetragen wurden. Das hat mich etwas verwirrt, ich habe nämlich ein Array welches Register Objekte der Klasse Register hat. Meine ausgabe sieht bis her so aus:
Ordnerid Ordnername Ordnerinhalt
... ... ...
...
usw. Ich will aber jetzt das da neben das steht also so:
ordnerid Ordnername Ordnerinhalt Registerid Registername Registerinhalt
Die daten für REgister sind in dem Array ordner_register welches die Objekte von Register hat drin. wie kann ich jetzt diese inhalte dieser variable in html code packen? z.b: <td> . ordner_Register .</td>
wie kann ich jetzt diese inhalte dieser variable in html code packen? z.b: <td> . ordner_Register .</td>
ich versteh zwar nicht ganz, was du meinst - aber ich meine du suchst nach foreach und echo
ja aber wenn ich das mit foreach oder echo mache dann zeigt er mir das so an Inhalt von ordner_register ist dann:
Object id #2 Object id #3 Object id #4
wenn ich mit print_r mal zeigen lasse was in ordner_register drin ist dann macht er das richtig zb:
Register ID = 1
Register name = test
Register inhalt = test
also ist foreach nicht die lösung genauso wenig echo
Also nur um klarzustellen ordner_register hat die richtigen Daten die werden mir mit print_r ausgegeben
wie kann ich jetzt diese inhalte dieser variable in html code packen? z.b: <td> . ordner_Register .</td>
ich versteh zwar nicht ganz, was du meinst - aber ich meine du suchst nach foreach und echo
ja aber wenn ich das mit foreach oder echo mache dann zeigt er mir das so an Inhalt von ordner_register ist dann:
Object id #2 Object id #3 Object id #4wenn ich mit print_r mal zeigen lasse was in ordner_register drin ist dann macht er das richtig zb:
Register ID = 1
Register name = test
Register inhalt = testalso ist foreach nicht die lösung genauso wenig echo
Also nur um klarzustellen ordner_register hat die richtigen Daten die werden mir mit print_r ausgegeben
Nur zur Ergänzung nochmal die Ausgabe mit print_r sieht so aus:
Array
(
[0] => Register Object
(
[__register_name:private] => B
[__register_inhalt:private] => B
[__register_id:private] => 2
)
)
und diese ausgabe möchte ich gerne hinkriegen in einer tabelle aber foreach bringt da nichts
Mahlzeit Boubou,
ja aber wenn ich das mit foreach oder echo mache dann zeigt er mir das so an Inhalt von ordner_register ist dann:
Object id #2 Object id #3 Object id #4
Ja, sicher. Wenn Du innerhalb der Schleife einfach die Objekte per echo ausgeben lässt, dann kann echo (das nur Strings ausgeben kann) nicht anders als genau das zu machen. Möchtest Du nicht vielleicht viel lieber einzelne Eigenschaften des Objektes ausgeben lassen?
also ist foreach nicht die lösung genauso wenig echo
Falsch und falsch.
Nur zur Ergänzung nochmal die Ausgabe mit print_r sieht so aus:
Array
(
[0] => Register Object
(
[__register_name:private] => B
[__register_inhalt:private] => B
[__register_id:private] => 2
)
)
Du hast also ein Array. Das erste Element in diesem Array ist ein Register-Objekt. Dieses Register-Objekt wiederum hat drei Eigenschaften, die jeweils einen Wert haben. Sag echo einfach, welche Eigenschaften Du ausgeben willst und es wird sie für Dich ausgeben.
und diese ausgabe möchte ich gerne hinkriegen in einer tabelle aber foreach bringt da nichts
Doch.
MfG,
EKKi
Mahlzeit Boubou,,
usw. Ich will aber jetzt das da neben das steht also so:
ordnerid Ordnername Ordnerinhalt Registerid Registername Registerinhalt
Die daten für REgister sind in dem Array ordner_register welches die Objekte von Register hat drin.
Und wie sieht die Datenstruktur des Arrays und der enthaltenen Objekte jetzt genau aus? Oder spendierst Du 'ne Runde Glaskugeln?
wie kann ich jetzt diese inhalte dieser variable in html code packen?
Indem Du sie mittels einer geeigneten Funktion (z.B. dem von Dir verschmähten echo) ausgeben lässt - das geht natürlich nur, wenn es sich um Variablentypen handelt, die entweder implizit in einen String umgewandelt werden können oder die eine entsprechende Standardeigenschaft besitzen. Oder Du gibst halt einfach die entsprechenden Eigenschaften des jeweiligen Objekts aus. Aber solange Du nicht mit weiteren Informationen zur Struktur herausrückst, können Deine Leser und potentiellen Helfer eigentlich nur raten ...
z.b: <td> . ordner_Register .</td>
Das funktioniert SO gar nicht.
MfG,
EKKi
hey das auslesen klappt aus einem Grund nicht den ich heruasgefunden habe. Das Array sieht so aus:
Array
(
[0] => Register Object
(
[__register_name:private] => B
[__register_inhalt:private] => B
[__register_id:private] => 2
)
)
soo key ist [0] value Register Object. Key2 ist [__register_name:private] und genau das ist das problem. Wenn ich bei Register die variablen auf public setze ist key 2 [__register_name] dann kann er auch die gewählten value auslesen, aber wenn ich die Variablen von Register auf private oder protected lasse kommt [__register_name:private oder :protected] und durch das :private macht er ungültge Zeichen die er dann nicht zum auslesen verwendet. Ich greife aus der Ordnerklasse auf die Registerklassen Attribute zu. Wie kann ich dieses :private im key2 umgehen damit er wie bei Public für key2 die Ausgabe [__register_name] ausliefert. Hat jemand eine ahnung dieses Private zu umgehen?
Mahlzeit boubou,
Wenn ich bei Register die variablen auf public setze ist key 2 [__register_name] dann kann er auch die gewählten value auslesen,
Logisch: wenn Du Eigenschaften öffentlich machst, dann sind sie "von außen" erreichbar.
aber wenn ich die Variablen von Register auf private oder protected lasse kommt [__register_name:private oder :protected] und durch das :private macht er ungültge Zeichen die er dann nicht zum auslesen verwendet.
Auch logisch: wenn Du Eigenschaften nicht öffentlich machst, dann sind sie "von außen" nicht erreichbar.
Wie kann ich dieses :private im key2 umgehen damit er wie bei Public für key2 die Ausgabe [__register_name] ausliefert.
Gar nicht. Mache die entsprechenden Variablen im Objekt öffentlich, dann sind sie es auch.
MfG,
EKKi