Hallihallo!
$z = 0;
while ($reihe = mysql_fetch_array($ausgabe))
{
$phpgesetztereferenzen['$z'] = $reihe;
echo $phpgesetztereferenzen['$z']['dateiname'].'<br>';
$z++;
}
}
Hier wird zwar in jedem Schleifendurchlauf der richtige Wert übernommen und per echo ausgegeben, aber:
Wenn Du die echo- Zeile mal ersetzt durch:
~~~php
echo 'Im Element mit dem Index '.'$z'.' wird abgespeichert: '.phpgesetztereferenzen['$z']['dateiname'].'<br>';
(Achte dabei auf das, was hinter "index" steht), wirst Du feststellen, daß hier immer wieder das gleiche Arrayelement befüllt wird.
Und zwar das mit dem Index: (string) $z
Du willst aber das Arrayelement mit dem derzeitigen Wert von (int) $z befüllen, also ist Dir geholfen, wenn Du einfach nur die beiden Hochkommata wegnimmst:
$phpgesetztereferenz[$z] = $reihe;
for ($r = 0; $r < 10; $r++)
{
echo $phpgesetztereferenzen['$r']['dateiname'].'<br>';
}
Hier ist es ähnlich: Du versuchst auf ein Arrayelement mit dem Index (string) '$r' zuzugreifen, aber das existiert gar nicht.
Der Zugriff wie gewünscht ist analog zu oben:
echo $phpgesetztereferenzen[$r]['dateiname'].'<br>';
Deine bisherige untere Schleife hat übrigens wohl eine Ausgabe erzeugt, und zwar exakt so viele '<br>'s wie $phpgesetztereferenz Elemente hat.
Zusammenfassung: Wenn man einzelne Hochkommata um einen Variablennamen herumsetzt, wird das als Stringangabe gewertet, und der jeweilige Wert nicht eingesetzt. Möchtest Du einfach nur Zugriff auf den Wert einer Variablen, notiere sie ohne die Hochkommata.
Ich hoffe, damit konnte ich Dir helfen...
Viele liebe Grüße,
Der Dicki