Array darf nicht gelöscht werden


tklustig

Erfahrenes Mitglied
#1
Hallo Leute, wie bewerkstellige ich es, dass ein über eine Session übergebenes Array nicht bei jedem neuen Merhodenaufruf gelöscht bzw. geleert wird?
Mit array_push klappt es nicht, da dazu irgendwo eine Initialisierung der Form $var=array(); stattfinden muss, und das löscht das Array bei erneutem Aufruf der Methode. Auch so komme ich nicht zum Ziel
PHP:
$ArrayOfAttachements=array();
array_push($ArrayOfAttachements,$id) //klappt nicht
$ArrayOfAttachements[] = $id; //klappt auch nicht
$sessionPHP['Attachement'] = $ArrayOfAttachements;
Auch mit dieser Version wird das Array gelöscht. Ich kann das Array leider nicht vernünftig zurückgeben, ohne es zu mergen. Mergen will ich es allerdings nicht, da die Methode ein Objekt zurück gibt, welches so bleiben soll, wie es ist. Sollte mein Vorhaben utopisch sein, muss ich halt doch mergen, aber vorher hätte ich das gerne abgeklärt. Das Array durchläuft keinerlei Schleife während der Befüllung, Es soll halt nach jedem Methodenaufruf einen Wert in das Array packen und zur gegebener Zeit von einer anderen Klasse aufgerufen werden!
 

sheel

I love Asm
#2
Hi

du willst dem Array in $sessionPHP['Attachement'] also mehrmals im selben PHP-Programmdurchlauf einen neuen Wert hinzufügen?

Warum nicht einfach
PHP:
$sessionPHP['Attachement'][] = $id;
Und ganz am Anfang natürlich prüfen, ob da überhaupt ein Array ist (in einer neuen Session wird noch keins sein):
PHP:
if(!isset($sessionPHP['Attachement']) || !is_array($sessionPHP['Attachement'])) $sessionPHP['Attachement'] = [];
Wenns bequemer ist kann der Code eigentlich auch jedes mal ausgeführt werden.
 

tklustig

Erfahrenes Mitglied
#3
Oha. Auf die Idee, der SESSION direkt den Wert zuzuweisen, bin ich nicht gekommen. Respekt für Deiner Cleverness und Tadel für meinen Phlegmatismus!
Danke vielmals für deine 'Hilfe. Bis demnächst!
 

Neue Beiträge