Archief - PHP: variabele maken in while lus

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

den Acid Burn

Legacy Member
lo,

ik heb een tabel met een id en een bericht.
nu zou ik het moeten hebben zodat in een while lus telkens een variabele wordt aangemaakt met die id als nummer.

dus bv $bericht1, $bericht2, $bericht3 enzo...
dus zoveel $bericht* variablelen als er id's zijn in de db tabel.

hoe doe ik dit juist in php?
ik heb al geprobeerd: $bericht."".$row[id]." = ".$row[bericht];

maar dit lukte niet

het probleem ligt bij $row[id].
ik weet niet juist hoe ik die $row[id] tegen $bericht plak om bv een variabele $bericht1 te maken.

grtz

Smoerf

Legacy Member
redelijk omslachtig, maar werkt wel

PHP:
// Je while lus aflopen en je $berichtx vars aanmaken
   $teller = 0;
   while (voorwaarde){
      $teller++;
      "$bericht". $teller = $row[bericht];
   }

// Een for lus, voor de lengte van $teller, en dan een $$var aanroepen
   for ($i=1;$i<=$teller;$i++){
      $berichtvar = "$bericht" . $i;
      echo $$berichtvar;
   }

'k Heb het niet getest, maar het zou zoiets moeten zijn.

Meer info:
http://be2.php.net/language.variables.variable

killgore

Legacy Member
slechte methode, gebruik arrays

en anders: eval gebruiken.

dus:

PHP:
for($i=0;$i<10;$i++)
{
	eval('$bericht'.$i.' = "bericht '.$i.'<br />";');
}

maakt 10 variabelen: $bericht0, $bericht1, ..., $bericht9 met als waarde "bericht 0","bericht 1",...,"$bericht 9"

nog andere manier is bv.:
PHP:
for($i=0;$i<10;$i++)
{
    $varvarnaam = "bericht".$i;
	$$varvarnaam = "bericht $i <br />";
}

xml

Legacy Member
vraag is waarom je via zo'n methode wil werken, het lijkt me eerder bizar. :/

killgore

Legacy Member
xml zei:
vraag is waarom je via zo'n methode wil werken, het lijkt me eerder bizar. :/
en slecht, kan in 95% v/d gevallen worden gedaan via arrays of zo

zelf ben ek enkel nog maar "nuttige" toepassing tegengekomen in templatesystemen.

Smoerf

Legacy Member
killgore zei:
slechte methode, gebruik arrays
...

I know, maar omdat hij variabele variabelen vroeg. (vandaar dat ik ook zei "redelijk omslachtig" want idd met een array is de job vlug gepiept.

killgore

Legacy Member
Smoerf zei:
I know, maar omdat hij variabele variabelen vroeg. (vandaar dat ik ook zei "redelijk omslachtig" want idd met een array is de job vlug gepiept.
die slechte methode was dan ook niet op u maar op de threadstarter :). Gij gaf gewoon oplossing voor zijn probleem, daar kunde niets op zeggen he :p. Als hij een idiote methode vraagt en gij geeft daar een goede oplossing voor hebde zelfs vre goe geholpen vinnek :).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan