Wie kann ich in ein array an einer bestimmten Stelle einen anderen Wert schreiben?
Muß ich dazu das array in einen einzelnen string wandeln um es verändern zu können?
Und um es global zu speichern den String dann per SetValueString… weiterverarbeiten, damit er auch in anderen Scripten verfügbar wird?
z.B. ändern der Position 3 von Termin in Termin_Neu
würde zwar innerhalb des scriptes gehen, aber das Ursprungsarray soll sich ja dauerhaft ändern.
Ich möchte meine jetzige Terminverwaltung im Designer ein wenig optimieren um mir Geburtstage und wiederkehrende Termine ausgeben zu lassen.
Per TimerWizard ist mir das ein wenig zu umständlich. Und so lernt man ein wenig PHP dazu.
Es ist dringend anzuraten im PHP-Manual die Funktionen implode und explode nachzulesen.
Außerdem gibt es noch viele andere teilweise sehr nützliche und „highly sphisticated“ Funktionen.
So ist es z.B. möglich den Elementen Namen zu geben. Solche Elemente sind dann unter dem Namen zu erreichen.
Sehr schön, das war mal wieder Top!
Genau das hab ich gesucht, mir war auch so das ich vor kurzem die Umwandlung in einen String in der PHP Doku gesehen habe, na da kann ich ja jetzt ein wenig experimentieren. THX
Die array Elemente müssen doch durch „,“ und nicht durch „;“ getrennt werden?
Doku:
implode
(PHP 4, PHP 5)
implode — Verbindet Array-Elemente zu einem String
Beschreibung
string implode ( string $glue, array $pieces )
Gibt einen String mit einer String-Repräsentation aller Array-Elemente in der gleichen Reihenfolge wie in dem Array zurück, bei dem die einzelnen Array-Elemente mit dem im Parameter glue angegebenen String verbunden werden.
Beispiel 2139. implode() Beispiel
<?php
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
?>
der „glue character“ kann frei gewählt werden. Er hat nichts mit dem Komma im Array zu tun. Wenn Du dir den Rückgabe-String von implode ansiehst, wirst Du feststellen, dass die Elemente durch den „glue character“ getrennt werden. der Vorgang kann durch explode wieder rückgängig gemacht werden.
Es ist natürlich sinnvoll ein Zeichen zu verwenden, das sonst nicht im Array verwendet wird. Ich nehme eben gerne das Semikolon.
Sorry HJH, hab nochmal das Manual gewälzt, nicht im array soll ich durch Semikolon trennen, sondern nur beim implode Befehl. :o
So geht es jetzt danke.
In dieser Form kann das Array nun als IPS-String-Variable abgespeichert werden.
Die explode-Funktion trennt nun den String $IPSarray an den Trennstellen (";") wieder in einzelne Elemente und schreibt diese in ein neues Array.
Die explode-Funktion macht also aus dem String ein Array:
$termin = explode(";", $IPSarray);
Damit ist der alte Zustand wieder hergestellt.
Aber, wie ich gerade sehe, hast Du das inzwischen selbst herausgefunden.
Torro hat Recht: un/serialize ist sogar noch besser, da man sich hier nicht um die verwendeten Datentypen kümmern muss. Es ist sogar möglich verschiedene Datentypen im selben Array zu verwenden.
Darüber hinaus ist die Handhabung unschlagbar einfach.
Ich werde in Zukunft diese Funktionen verwenden. Danke für den Tipp.