Thema: Assoziative Felder


Um eine gröβere Menge zusammengehöriger Daten zu speichern, können Sie entweder viele einzelnen Variablen oder ein Feld von Variablen mit einem einheitlichen Namen nutzen.
PHP unterstützt zwei Typen von Feldern:

  • Numerisch indizierte Felder: Die einzelnen Variablen in einem numerisch indizierten Feld werden über eine laufende Nummer innerhalb des Feldes angesprochen (Siehe bei numerisch indizierten Feldern).
  • Assoziative Felder (auch Hash-Tabelle genannt): Die einzelnen Variablen in einem assoziativen Feld werden über eine eindeutige Bezeichnung innerhalb des Feldes angesprochen (Siehe in dem Beispiel unten).

Die T-Shirt-Preise aus dem vorherigen Abschnitt soll nun in einem assoziativen Feld angeordnet werden. Die Elemente eines solchen Feldes werden nicht über eine laufende Nummer, sondern über eine Schlüsselbezeichnung identifiziert. Dadurch wird es möglich, den Feldelementen eindeutig Begriffe zuzuordnen und die Suche nach bestimmten Feldelementen zu vereinfachen.

Beispiel)


<?php
   $tp = array("Montag"=>17.5, "Dienstag"=>19.2, "Mittwoch"=>21.8, "Donnerstag"=>21.6);
   $tp["Freitag"] = 17.5;
   $tp["Samstag"] = 20.2;
   // Tabellenkopf
   echo "<table class='table striped'>";
   echo "<tr><td><b>Wochentag</b></td>";
   echo "<td><b>T-Shirt-Preis</b></td></tr>";
   // Alle Keys und Values aus dem Feld
   foreach($tp as $name=>$wert) {
      echo "<tr><td>$name</td><td>$wert</td></tr>";
   }
   echo "</table>";
    // Summieren und Mittelwertpreis berechnen!
   $summe = 0;
   foreach($tp as $wert) {
      $summe = $summe + $wert;
   }
   echo "<p>Mittelwert: " . round($summe / 6, 2) . "</p>";				
?> 

Ausgabe)

WochentagT-Shirt-Preis
Montag17.5
Dienstag19.2
Mittwoch21.8
Donnerstag21.6
Freitag17.5
Samstag20.2

Mittelwert: 19.63