phpbar.de logo

Mailinglisten-Archive

[php] Array / array_values ?

[php] Array / array_values ?

Wolfgang Hauck php_(at)_phpcenter.de
Wed, 8 May 2002 12:39:44 +0200


>ich habe folgendes Problem:
>Ich lese in einer Funktion einige Datensätze per MySQL aus der DB und
>übertrage diese in ein mehrdimensionales Array:

$entry=mysql_fetch_array($result);
for ($i = 0; $i < count($result); $i++) {
	$round_id=$entry['round_id'];
	$score[$round_id][$i]['team']=$entry['team'];
	$score[$round_id][$i]['player_id']=$entry['player_id'];
	$score[$round_id][$i]['round_id']=$entry['round_id'];
}
return $score;

>An einer anderen Stelle möchte ich den Inhalt dieser Array jetzt
>ausgeben. Das Problem ist, das der erste Index ja das Feld [$round_id]
>aus der DB ist. D.h. es ist zwar ein numerischer Index, aber es fehlen
>dazwischen eben Elemente (es existiert z.B. $score[123], $score[212],
>usw.). Da der Wert des Indexes selber unwichtig ist und nur die
>Reihenfolge von Relevanz, würde ich nun gerne für die Ausgabe per
>einfacher Schleife (bis count($score)) die Array folgendermaßen
>umstellen:
>$score[123] -> $score[0], $score[212] -> $score[1] usw.

Hi Jens,

Du benoetigst doch uberhaupt nicht die round_id im array. Ich denke da hast
du nen kleinen Denkdreher. Wie waers damit?

$entry=mysql_fetch_array($result);
for ($i = 0; $i < count($result); $i++) {
 $score[$i]['round_id']=$entry['round_id'];
 $score[$i]['team']=$entry['team'];
 $score[$i]['player_id']=$entry['player_id'];
 $score[$i]['round_id']=$entry['round_id'];
}
return $score;

So hast du ein geschlossenes array und meinetwegen auch die round_id. Wenn
du in deiner query ein order by round_id einfuegst, hast du sogar noch ne
Sortierung.

MFG Wolfgang


php::bar PHP Wiki   -   Listenarchive