bastel z. Z. an einer PHP-Seite die mehrdimensionale Arrays
bearbeiten können soll.
$ergebnis_se = array();
$ergebnis_se[] = array(‚Teilnehmer.ID_Teilnehmer‘ => 5,
‚Teilnehmer.vorname‘ => „VornameSE“,
‚Teilnehmer.name‘ => „NachnameSE“,
‚VHR.name‘ => „VHRname0“,
‚Teilnehmer_VHR.date‘ => „VHRdatum0“,
‚FESE.date‘ => „FESEdatum0“,
‚FESE.Wertung‘ => „3“);
$ergebnis_se[] = array(‚Teilnehmer.ID_Teilnehmer‘ => 5,
‚Teilnehmer.vorname‘ => „VornameSE“,
‚Teilnehmer.name‘ => „NachnameSE“,
‚VHR.name‘ => „VHRname1“,
‚Teilnehmer_VHR.date‘ => „VHRdatum1“,
‚FESE.date‘ => „FESEdatum1“,
‚FESE.Wertung‘ => „2“);
Nun möchte ich gerne zwei Dinge mit diesen Daten anstellen
können, hatte aber bislang keinen Erfolg:
- die Datensätze nach ‚FESE.Wertung‘ sortieren können
sort($ergebnis_se[‚FESE.Wertung‘]);
ich interpretiere mal, dass du $ergebnis_se ach dem wert des
jeweiligen wert in FESE.Wertung sortieren moechtest.
das wuerde ich mit ursort http://php.net/usort loesen:
function cmp($a, $b)
{
if ($a[‚FESE.Wertung‘] == $b[‚FESE.Wertung‘]) {
return 0;
}
return ($a[‚FESE.Wertung‘]
Vielen Dank! Das werde ich sofort ausprobieren. Hört sich auf jeden Fall nach dem an was ich erreichen möchte.
- gezielt einzelne Daten in neue Arrays bringen können. z. B.
den Array $fese_wertung[Teilnehmer_ID_TEILNEHMER[‚5‘]] =
array(„3“, „2“)
die anforderung verstehe ich nicht. dise codezeile hat auch
keinerlei entsprechung im obigen code. aber wenn du z.b. im
nachgang die ‚FESE.Wertung‘ wertung eines teilnehmers in
$ergebnis_se aendern woelltest, wuerdest du notieren:
Nein, sorry. Da habe ich mich unverständlich ausgedrückt.
Neben den hier aufgeführten Array-Einträgen kommen noch viele weitere hinzu. Letztendlich suche ich nach einer Möglichkeit in einem ersten Schritt die Daten aus dem komplexen Array nach einem bestimmten Kriterium zu sortieren (wie mit ursort ja offensichtlich möglich ist). Anschließend möchte ich aus den sortierten Daten beispielsweise alle identischen ‚VHR.name‘ heraussuchen und die dazugehörigen ‚FESE.Wertung‘ in einem Array ablegen. Gibt es mehrere ‚VHR.name‘ sollen diese auch in mehreren Arrays (mit zugewiesener ‚FESE.Wertung‘) abgelegt werden. Die Wertungen sind in diesem Fall ja Zahlen. Diese benötige ich in einem Array, um später (in einem weiteren Vorgang) verschiedene Berechnungen vornehmen zu können. Letzteres habe ich bereits hinbekommen. Nur die mehrdimensionalen Arrays (ganz oben) a) nach dem Kriterium ‚VHR.name‘ zu sortieren und
b) anschließend jedem ‚VHR.name‘ dazugehörige Bewertungen über ‚FESE.Wertung‘ in Form von Arrays zuzuweisen war nicht von Erfolg gekrönt.
Das Ergebnis müsste also so aussehen, das mehrere Variablen, abhängig von VHR.name und den zugewiesenen FESE.Wertung (in Form von Zahlen) bestimmen kann:
$var[VHR.name] = („3“, „2“, „3“, „0“);
Leider reichen meine PHP-Kenntnisse dafür (noch) nicht aus. Danke.
Marcel
$ergebnis_se[teilnehmerid][‚FESE.Wertung‘] = 3;
wobei hierbei davon ausgegangen wuerde, dass du dein array
nicht mit:
$ergebnis_se[] = array(…);
sondern mit
$ergebnis_se[teilnehmerid] = array(…);
aufgebaut haettest - waere sicher ganz geschickt.