4.4. Associative tabeller

En associativ tabel er en tabel, der bruger strenge som indices, og de "associeres" med en streng eller talværdi.

<?php
#associativ tabel
   $Disney["fugl"]="Anders And";
   $Disney["hund"]="Pluto";

#array notation
#              nøgle      værdi
   $logo=array("Tux"   => "Penguin",
               "Gnome" => "Fod",
               "Billg" => "Snegl");

#multi-dimensional array
   $kunst=array(
         "impressionism" => 
               array("Monet" => "Åkander",
                     "Manet" => "Frokost i det Grønne"),
         "barok" =>
               array("Bach"  => "Brandenburg koncerterne",
                     "Hendel"=> "Messias")
           );

#udskriv

   echo $Disney["hund"] ."\n";
   echo $logo[Gnome] ."\n";
   echo $kunst["impressionism"]["Manet"] ."\n";
 
#sorteringseksempler
   udskrivtabel("Usorteret     : ",$logo);

   asort($b);
   udskrivtabel("Værdi sorteret: ",$logo);

   ksort($b); 
   udskrivtabel("Nøgle sorteret: ",$logo);

#definer en udskrivningsfunktion:

function udskrivtabel($streng,$tabel)
  {
   echo "\n".$streng;

#loop gennem alle par af nøgler og værdier i tabellen
   foreach($tabel as $key=>$val)
      {
         echo "$key => $val\t";
      }
  }
?>

Udskriver:
Pluto
Fod
Frokost i det Grønne

Usorteret     : Tux => Penguin  Gnome => Fod    Billg => Snegl
Værdi sorteret: Gnome => Fod    Tux => Penguin  Billg => Snegl
Nøgle sorteret: Billg => Snegl  Gnome => Fod    Tux => Penguin

Eksemplet viser hvordan associeret tabeller kan oprettes og udskrives. Eksemplet viser også hvordan en associativ tabel kan sorteres efter nøgler og værdier med ksort og asort funktionerne. En funktion defineres til at simplifiere udskrivningen af den associative tabel. Funktionen bruger foreach kommandoen til at iterere gennem alle elementer i tabellen, og udskrive nøgle og værdi for alle elementer i tabellen. Koden "\t" betyder tabulator.