Skaptrollet Skrevet 26. mars 2009 Del Skrevet 26. mars 2009 Jeg har en string som ser slik ut: key.subkey.deepsubkey i tillegg har jeg en variabel $var. Det jeg prøver å få til er å lage et array basert på den keystringen.. $array['key']['subkey']['deepsubkey'] = $var; Det er det jeg prøver å få til, men siden det er ukjent lengde på stringen så får jeg det ikke til:p Kan legge til at stringen er allerede exploded så jeg har egentlig alle keys i et array slik : array('key', 'subkey', 'deepsubkey'); Noen som skjønner hvordan jeg skal få til noe sånt? Tenker jeg må fikse noe rekursivt, men er ikke helt med på hvordan jeg får til det jeg skal.. Lenke til kommentar
Skaptrollet Skrevet 26. mars 2009 Forfatter Del Skrevet 26. mars 2009 (endret) selvfølgelig fant jeg en løsning bare minutter etter å poste her... men den er ikke veldig pen... looper gjennom keys arrayet og lager en $string = '[\'key\'][\'subkey\'][\'deepsubkey\'] og kjører eval('$array'.$string.' = '.$var.';'); Men den er kanskje raskere enn å loop rekursivt og returnere array frem og tilbake? EDIT: Selvfølgelig var det ikke en løsning.... Den løsningen krever at $var ikke er array/object.. Endret 26. mars 2009 av WaBBiT Lenke til kommentar
Jonas Skrevet 26. mars 2009 Del Skrevet 26. mars 2009 (endret) Eval er ikke veldig fint, da det åpner for diverse sikkerhetshull. <?php $string = 'key.subkey.deepsubkey'; $strings = explode ( '.', $string ); $array[$strings[0]][$strings[1]][$strings[2]] = $var; ?> Endret 26. mars 2009 av Jonas Lenke til kommentar
Martin A. Skrevet 26. mars 2009 Del Skrevet 26. mars 2009 http://www.webdeveloper.com/forum/showpost...amp;postcount=9 Modifiser den litt, så er du i mål. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå