Brei Geschrieben 4. Dezember 2005 Teilen Geschrieben 4. Dezember 2005 Hallo, schon wieder ein Problem. Also ich mache folgendes in einer Methode: function ausgabe() { $htmlcode = $this->ausgabe_string; $this->ausgabe_string = ""; return $htmlcode; } [/PHP] In diesem Fall wird komischerweise nichts returnd. Daraus schließe ich, dass $this->ausgabe_string = ""; auch die Variable $htmlcode löscht. Aber das davor ist doch eine ganz normale Wertzuweisung und nichts mit Referenzen, oder hab ich was übersehen? Wenn ich die Zeile $this->ausgabe_string = ""; auskommentiere wird der richtige String returnd, aber ich möchte halt auch die Klassenvariable auf "" setzen. Wie kann ich das machen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 4. Dezember 2005 Teilen Geschrieben 4. Dezember 2005 Hi Hm wenn in ausgabe_string schon was drinnen steht bevor diese Methode bei dir aufgerufen wird, dann sollte das so funktionieren... Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tsd Geschrieben 5. Dezember 2005 Teilen Geschrieben 5. Dezember 2005 genau, $htmlcode kann nur leer sein, wenn $this->ausgabe_string vorher schon leer war. Du solltest zum debuggen einfach mal $this->ausgabe_string ausgenen: function ausgabe() { echo $this->ausgabe_string; $htmlcode = $this->ausgabe_string; $this->ausgabe_string = ""; return $htmlcode; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Brei Geschrieben 10. Dezember 2005 Autor Teilen Geschrieben 10. Dezember 2005 ich werd noch wahnsinnig. Irgendwie geht das einfach ncht. Hier sind einfach mal meine Versuche: (Anmerkung: Der return-Wert gebe ich beim funktionsaufruf so aus: echo $xhtml->ausgabe(); ----------------------------- Gibt den Text 2 mal aus! => Also $htmlcode wird nicht gelöscht: function ausgabe() { $htmlcode = $this->ausgabe_string; echo $htmlcode; $this->ausgabe_string = ""; echo $htmlcode; //return $htmlcode; } [/PHP] Gibt den Text einmal aus: [PHP]function ausgabe() { $htmlcode = $this->ausgabe_string; $this->ausgabe_string = ""; echo $htmlcode; //return $htmlcode; } Gibt nichts aus, obwohl ich den return-Wert mit echo ausgeben will: function ausgabe() { $htmlcode = $this->ausgabe_string; $this->ausgabe_string = ""; return $htmlcode; }[/PHP] --------------------------------- => Frage, hat Return irgendwelche Größen/Längebeschränkungen? Ich hab nichts derartiges im Internet gefunden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 10. Dezember 2005 Teilen Geschrieben 10. Dezember 2005 Hi, verwendest du eine PHP5 Version im frühen stadium? Wenn ja, auf die neuste Vers updaten... Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Brei Geschrieben 10. Dezember 2005 Autor Teilen Geschrieben 10. Dezember 2005 sorry, hab das Problem wo anders gefunden. Ich hatte eine weitere Methode, die die Ausgabe() aufgerufen hatt. Die Ausgabe in der anderen Methode hat nicht funktioniert und deshalb wurde machnmal der Rückgabewert auf "" gesetzt. Trotzdem danke und ein großes Sorry wegen euren Bemühungen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.