Gå til innhold

Hjelp med arrays og variabler


Anbefalte innlegg

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
Videoannonse
Annonse

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 av Lokaltog
Lenke til kommentar

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 av peskungen
Lenke til kommentar

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 av Jonas
Lenke til kommentar
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 :p

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...