PHP flerdimensionale array

I de tidligere kapitler af denne vejledning har vi allerede kendt, at et array er en simpel liste af nøgle-værdi par.

Men nogle gange ønsker man at gemme værdier med mere end én nøgle.

Man kan gemme data med multi-dimensionelle arrays.

PHP - multi-dimensionelle arrays

Multi-dimensionelle arrays er arrays, der indeholder en eller flere arrays.

PHP kan forstå to, tre, fire eller fem niveauer af multi-dimensionelle arrays, og endda flere. Dog er arrays dybere end tredje dimension ofte svære at håndtere for de fleste.

Kommentar:Arrayets dimensioner indikerer, hvor mange indeks du skal vælge elementer med

  • For to维 array skal du bruge to indeks for at vælge elementer
  • For tredje维数组 skal du bruge tre indeks for at vælge elementer

PHP - to维数组

En to维数组 er en array af arrays (en tredje维数组 er en array af arrays af arrays).

Lad os først se på tabellen nedenfor:

Mærke Lager Salg
Volvo 33 20
BMW 17 15
Saab 5 2
Land Rover 15 11

Vi kan gemme data fra tabellen i et to维数组, sådan her:

$cars = array
  (
  array("Volvo", 22, 18),
  array("BMW", 15, 13),
  array("Saab", 5, 2),
  array("Land Rover",17,15)
  );

Denne to维 array indeholder fire arrayer og har to indeks (index): række og kolonne.

For at få adgang til elementer i $cars-arrayen, skal vi bruge to indeks (række og kolonne):

Eksempel

<?php
echo $cars[0][0].": Lager:".$cars[0][1].", Salg:".$cars[0][2].".<br>";
echo $cars[1][0].": Lager:".$cars[1][1].", Salg:".$cars[1][2].".<br>";
echo $cars[2][0].": Lager:".$cars[2][1].", Salg:".$cars[2][2].".<br>";
echo $cars[3][0].": Lager:".$cars[3][1].", Salg:".$cars[3][2].".<br>";
?>

Kør eksempel

Vi kan også bruge en anden for-løkke i en for-løkke for at få elementer fra $cars-arrayen (vi har stadig brug for to indeks):

Eksempel

<?php
for ($row = 0; $row < 4; $row++) {
  echo "<p><b>Række nummer $row</b></p>";
  echo "<ul>";
  for ($col = 0; $col < 3; $col++) {
    echo "<li>".$cars[$row][$col]."</li>";
  }
  echo "</ul>";
}
?>

Kør eksempel