Arrays

Een array is eigenlijk geen type, maar een variabele die een rij waarden kan bevatten.
Voorbeeld:
$stad[0] = "Hilversum";
$stad[1] = "Utrecht";
$stad[2] = "Amsterdam";

Hierbij geef je met de index (bv. 0, 1 of 2) aan naar welk element in het array je wijst.

Dat kun je als volgt voorstellen:


Met de functie count() kun je opvragen uit hoeveel elementen een array bestaat.

Stad 0: Hilversum
Stad 1: Utrecht
Stad 2: Amsterdam
Stad 3: Den Haag
Stad 4: Rotterdam
Stad 5: Groningen

Initialiseren

Je kunt een array direkt bij het maken al initialiseren: voorzien van een aantal waarden. Bij een array zoals hierboven gaat dat als volgt:

<?php
  // Nieuw array maken en direkt initialiseren
  $band = array("16 down","Doves","The Dandy Warhols","Radiohead");

  // Alle elementen in het array laten zien
  foreach($band as $volgendeband) echo "$volgendeband<br>";
?>
16 down
Doves
The Dandy Warhols
Radiohead

Associatieve arrays

Bij een associatief array is de index niet een getal maar een string. Zo kun je dus met een woord een element aanwijzen, daarom heet zo'n array associatief want je associeert een element met een woord of een begrip in plaats van met een plaatsje in de rij.

Hiermee kun je bijvoorbeeld zoiets doen:

Een voorbeeld:

<?php
  $appel["naam"] = "Jonagold";
  $appel["kleur"] = "rood";
  $appel["smaak"] = "zoet";
  $appel["vorm"] = "rond";

  $sinaasappel["naam"] = "Jaffa";
  $sinaasappel["kleur"] = "oranje";
  $sinaasappel["smaak"] = "zuur";
  $sinaasappel["vorm"] = "rond";

  $banaan["naam"] = "Sjiekieta";
  $banaan["kleur"] = "geel";
  $banaan["smaak"] = "bananig";
  $banaan["vorm"] = "langwerpig";

  function vrucht_eigenschappen($vrucht)
  {
    printf("De %s smaakt %s, is %s van vorm en %s van kleur<br>\n",
    $vrucht["naam"],$vrucht["smaak"],$vrucht["vorm"],$vrucht["kleur"]);
  }

  vrucht_eigenschappen($banaan);
  vrucht_eigenschappen($appel);
  vrucht_eigenschappen($sinaasappel);
?>
De Sjiekieta smaakt bananig, is langwerpig van vorm en geel van kleur
De Jonagold smaakt zoet, is rond van vorm en rood van kleur
De Jaffa smaakt zuur, is rond van vorm en oranje van kleur

Initialiseren

Net als bij een 'gewoon' array kun je ook een associatief array direkt bij het maken al initialiseren. Dat gaat zo:

<?php
  // Nieuw associatief array maken en initialiseren
  $band = array("een" => "16 down",
                "twee" => "Doves",
                "drie" => "The Dandy Warhols",
                "vier" => "Radiohead");

  // Enkele elementen in het array laten zien
  echo $band["twee"] . "<br>";
  echo $band["vier"] . "<br>";
?>
Doves
Radiohead

Arrays met meer dan 1 dimensie

Een tabel heeft een aantal rijen en een aantal kolommen. Dat kun je bij een array ook gebruiken om je voor te stellen hoe dat in elkaar zit. In het volgende voorbeeld is de eerste kolom gevuld met plaatsnamen en de tweede kolom met aantallen inwoners. Je ziet dan dat de eerste index gebruikt wordt als rij-nummer en de tweede index als kolom-nummer.

<?php
  $stad = array(); // nieuw array
  $stad[0][0]="Hilversum";
  $stad[2][0]="Utrecht";
  $stad[1][0]="Amsterdam";

  $stad[0][1]=100000;
  $stad[1][1]=230000;
  $stad[2][1]=900000;

  echo "<table border=2>";
  echo "<tr><th>Plaatsnaam</th><th>Aantal inwoners</th></tr>";
  for($rij=0;$rij<3;$rij++){
    echo "<tr>";
    for($kolom=0;$kolom<2;$kolom++){
      echo "<td>";
      echo $stad[$rij][$kolom];
      echo "</td>";
    }
    echo "</tr>";
  }
  echo "</table>";
?>

PlaatsnaamAantal inwoners
Hilversum100000
Utrecht230000
Amsterdam900000