Variable Objektnamen

Hallo habe ein hoffentlich lösbares Problem…

Ich habe ein Klasse deren Objekte ich später mit Daten aus einer Datenbank füllen will. Deswegen möchte ich die Objektnamen durchnummerieren,… terminserie1, terminserie2,…

Ich habe mal 2 Versionen ausprobiert (siehe unten). Die erste funktioniert einwandfrei. Die 2. Version gibt mir aber immer nur den letzten wert aus…

Kann mir jemanden sagen, was ich falsch mache???

class terminserie
{
var $id;
var $serientag;
var $serienmonat;
var $serienjahr;
}

//VERSION 1
echo " Eingabe Version 1
";

$termintest1 = new terminserie;
$termintest1->id = „0815“;
$termintest1->serientag = „13“;
$termintest1->serienmonat = „4“;
$termintest1->serienjahr = „1976“;

$termintest2 = new terminserie;
$termintest2->id = „0916“;
$termintest2->serientag = „15“;
$termintest2->serienmonat = „06“;
$termintest2->serienjahr = „1978“;

echo "Ausgabe Version 1
";
echo "$termintest1->id ";
echo "$termintest1->serientag ";
echo "$termintest1->serienmonat ";
echo "$termintest1->serienjahr
";
echo "$termintest2->id ";
echo "$termintest2->serientag ";
echo "$termintest2->serienmonat ";
echo "$termintest2->serienjahr
";

// VERSION 2
for ($blah = 3; $blah Eingabe VERSION 2
";
echo "blah = $blah
";

$strtest=„termintest“.$blah;

${$strtest} = new terminserie;

${$strtest->id} = „$blah“;
${$strtest->serientag} = 13+$blah;
${$strtest->serienmonat} = 4+$blah;
${$strtest->serienjahr} = 1976+$blah;
//TEST
echo "ID sollte $blah sein… ist ${$strtest->id}
";
echo "SERIENTAG sollte 13+$blah sein… ist ${$strtest->serientag}
";
echo "SERIENMONAT sollte 4+$blah sein…ist ${$strtest->serienmonat}
";
echo "SERIENJAHR sollte 1976+$blah sein…ist ${$strtest->serienjahr}
";
}
?>
############################################
Das ist dann die Ausgabe von dem Script:
Eingabe Version 1
Ausgabe Version 1
0815 13 4 1976
0916 15 06 1978


Eingabe VERSION 2
blah = 3
ID sollte 3 sein… ist 1979
SERIENTAG sollte 13+3 sein… ist 1979
SERIENMONAT sollte 4+3 sein … ist 1979
SERIENJAHR sollte 1976+3 sein … ist 1979


Eingabe VERSION 2
blah = 4
ID sollte 4 sein… ist 1980
SERIENTAG sollte 13+4 sein… ist 1980
SERIENMONAT sollte 4+4 sein … ist 1980
SERIENJAHR sollte 1976+4 sein … ist 1980

Kann mir jemanden sagen, was ich falsch mache???

${$strtest->id} = „$blah“;

du sagst dem php-interpreter deklariere eine variable und gib ihr den namen der in $strtest->id steht.

was du meinst ist: ${strtest}->id

aber ist das nciht bad-style und solltest du die variablen nciht in einem array ablegen?

Achso! verstehe!
Danke für den Tip mit den Arrays… :smile: hatte wohl ein Brett vorm Kopf

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]