peskungen Skrevet 7. juli 2008 Del Skrevet 7. juli 2008 Hey! Er det noen mulighet til å lage nye arrays ved hjelp av en for-løkke? Tenker noe slik som dette: $iNumberOfArrays = 5; for($iCounter = 1; $iCounter <= $iNumberOfArrays; $iCounter++) { $aArray.$iCounter = array(); } Det ville dette resultatet hadde det fungert (noe det ikke gjør): $aArray1 $aArray2 $aArray3 $aArray4 $aArray5 Lenke til kommentar
Lokaltog Skrevet 7. juli 2008 Del Skrevet 7. juli 2008 (endret) Det letteste ville vel vært å lage et multidimensional array: $array = array(); for($i = 0; $i < 5; $i++) { $array[$i] = array(); } print_r($array); Edit: Det kan tenkes at noe slikt også funker: for($i = 0; $i < 5; $i++) { $var_name = "array$i"; $$var_name = array(); } print_r($array0); // array0...4 ... men det siste eksemplet er betraktelig mye vanskeligere å jobbe med. Endret 8. juli 2008 av Lokaltog Lenke til kommentar
peskungen Skrevet 7. juli 2008 Forfatter Del Skrevet 7. juli 2008 (endret) Har prøvd meg på diverse løsninger, men får det ikke til å fungere helt som jeg vil. For meg virker det enklere å søke i databasen (selv om det antakeligvis tar mer ressurser), så tror jeg skal prøve meg på det ettersom jeg har holdt på lenge med det jeg holder på med :/ Endret 7. juli 2008 av peskungen Lenke til kommentar
Ernie Skrevet 7. juli 2008 Del Skrevet 7. juli 2008 Enig med Lokaltog. Dog, hvis man på død og liv skal ha det slik så ser den fungerende metoden slik ut: for ($i = 0; $i < 5; $i++) { ${'array'.$i} = array(); } Lenke til kommentar
Lokaltog Skrevet 7. juli 2008 Del Skrevet 7. juli 2008 Enig med Lokaltog. Dog, hvis man på død og liv skal ha det slik så ser den fungerende metoden slik ut: for ($i = 0; $i < 5; $i++) { ${'array'.$i} = array(); } Stilig! Den syntaksen der var jeg ikke klar over Lenke til kommentar
Jonas Skrevet 7. juli 2008 Del Skrevet 7. juli 2008 Ta en titt på variable functions også. Man kan kombinere dynamiske og hardkoda navn i PHP på mange måter. Lenke til kommentar
Ernie Skrevet 7. juli 2008 Del Skrevet 7. juli 2008 Fungerer på klasser også. Altså, $foo = new $bar(); fungerer helt ypperlig. Lenke til kommentar
Jonas Skrevet 7. juli 2008 Del Skrevet 7. juli 2008 (endret) Jupp, nettopp det er noe som danner grunnlag for mange MVC-modeller. Det gjør at man dynamisk kan loade klasser og kalle metoder basert på f.eks. get-argumenter. http://www.onlamp.com/pub/a/php/2005/09/15/mvc_intro.html Lokaltog, variabel assignment med variable variabelnavn (LOL) fungerer som følgende. (Merk bruken av dobbel $$) <?php for ( $i = 0; $i < 5; $i++ ) { $var_name = "array$i"; $$var_name = array (); } print_r ( $array0 ); ?> Endret 7. juli 2008 av Jonas Lenke til kommentar
Lokaltog Skrevet 8. juli 2008 Del Skrevet 8. juli 2008 Jupp, nettopp det er noe som danner grunnlag for mange MVC-modeller. Det gjør at man dynamisk kan loade klasser og kalle metoder basert på f.eks. get-argumenter. http://www.onlamp.com/pub/a/php/2005/09/15/mvc_intro.html Lokaltog, variabel assignment med variable variabelnavn (LOL) fungerer som følgende. (Merk bruken av dobbel $) <?php for ( $i = 0; $i < 5; $i++ ) { $var_name = "array$i"; $var_name = array (); } print_r ( $array0 ); ?> Jepp, vet. Men av en eller annen grunn forsvant den ene $-en fra koden min. Det samme skjer når jeg quoter deg, bug i IPB 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å