Zum Inhalt springen

'a:17:{s:9:"obts_root";s:9:"EXT:obt etc.pp.

Erstellt am 4. Juli 2006 · 2 Antworten · letzte Antwort am 5. Juli 2006

Tags: PHP, Frage

basti79 ·

Manche Extensions (im meinem Fall obts) werden nicht über ein Array konfiguriert, sondern über einen String, der dann aussieht wie in der Betreffzeile.

Wie kann ich in diesem Fall nachträgtlich die konfiguration ändern, insbesondere: wie kann ich neue Array-Felder einfügen?

Anscheinend ist das Format ja "typ:länge:daten", wobei typ a ein array ist, und daten dann in {} angegeben werden.

Klar, das könnte ich nachvollziehen, aber ich suche nach dem echten, genehmigten, offiziellen weg, in so einer Situation ein Arrayelement hinzuzufügen. Wie kann ich das machen, wenn eine andere Extension dies beim Installieren tun soll?

steffenk ·

dasw sind serialisierte arrays.

Du kannst es einlesen in ein Array und wieder zurückschreiben

$feldvalue="a:17:{s:9:"obts_root";s:9:"EXT:obt...';
$arr=unserialize($feldvalue);
//ändern
$arr['wert17']=27;
$newfeldvalue=serialize($arr);
basti79 ·

Ahja. Danke. Dachte mir schon fast sowas, hab aber die Funktion in der PHP Doku nicht gefunden - hab nur selten mit PHP zu tun...