php-array 

PHP: Mehrdimensionale Arrays erstellen – So gehts

Mehrdimensionale Arrays sind 2 oder mehr Arrays in einem. Sie sind praktisch und auch in PHP sollte man auf mehrdimensionale Arrays nicht verzichten. Wie sie funktionieren zeige ich dir.

Auch bei mehrdimensionalen Arrays gibt es viele verschiedene Schreibweisen. Ich zeige dir die verschiedenen in ein paar kleinen Beispielen

Beispiel1 (assoziativ mit Keys)

Zuerst definieren wir eine neue Variable mit dem Namen $mitarbeiter

1
$mitarbeiter = array()

Beispiel
In diesem Array legen wir jetzt verschiedene Mitarbeiter an mit der Variable $mitarbeiter

1
2
3
4
5
6
7
8
9
10
11
<?php
$mitarbeiter[0]['vorname']   = "Torben";
$mitarbeiter[0]['nachname']  = "Jost";

$mitarbeiter[1]['vorname']   = "Stefan";
$mitarbeiter[1]['nachname']  = "Mustermann";

$mitarbeiter[2]['vorname']   = "Tobias";
$mitarbeiter[2]['nachname']  = "Steiner";

?>

Wenn du dir jetzt das Ganze Array mal zum testen ausgeben möchtest gibst du folgenden Befehl ein

1
print_r($mitarbeiter);

Einzelne Mitarbeiter im Array ansprechen

Wenn du einzelne Arrays in diesem Array ansprechen möchtest dann geht das folgendermaßen

1
2
echo $mitarbeiter['2']['vorname'];
echo $mitarbeiter['2']['nachname'];

Ergebnis
Tobias
Steiner

Beispiel2 (Mehrdimensionales, indiziertes Array )

Definieren wir uns verschiedene Automarken mit Hilfe eines 2 Dimensionalen Arrays

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$auto = array
(

// Index 0
  array
    (
    'Audi',
    'BMW',
    'Mercedes'
    ),

// Index 1
  array
    (
    'A8',
    'Z4',
    'C Klasse'
    )
);

So können wir uns dann eine Automarke ausgeben lassen. Mit [1][1] wird jeweils das erste Element jedes Arrays genommen.

1
echo $auto[0][0];

Ergebnis

Audi A8

Beispiel 3

Eine weitere Schreibweise ist diese. Hier werden die Array Werte automatisch durchnummeriert.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$tagname = array();

$tagname[] = 'Montag';
$tagname[] = 'Dienstag';
$tagname[] = 'Mittwoch';
$tagname[] = 'Donnerstag';
$tagname[] = 'Freitag';

$tageszeit = array();

$tageszeit[] = 'morgen';
$tageszeit[] = 'vormittag';
$tageszeit[] = 'mittag';
$tageszeit[] = 'nachmittag';
$tageszeit[] = 'abend';
$tageszeit[] = 'nacht';

// Optionale Array-Definition
$tag = array();

$tag[] = $tagname;
$tag[] = $tageszeit;

Ergebnis

Wenn du am Ende mit echo das Array ausgeben willst geht das so

1
2
// Ausgabe ergibt Freitagmorgen
echo $tag[0][4] . $tag[1][0];

Freitagmorgen

Fazit

Was du dir merken musst, bei Arrays werden 2 Arten voneinander unterschieden

assoziativen Arrays mit Keys

Dies sind die Arrays wo du mit einem Key den Wert zuweist ohne Index Nummerierung

1
2
3
4
5
6
7
8
9
10
11
12
// Array deklarieren, Keys Werte zuweisen
$tag = array
(
'mo' => 'Mo',
'di' => 'Di',
'mi' => 'Mi',
'do' => 'Do',
'fr' => 'Fr'
);

// Zugriff über Key, Ausgabe wäre Do
echo $tag['do'];

Indizierten Arrays

Bei diesen Arrays wird der Index automatisch der Reihenfolge nach hochgezählt

1
$tag = array('Mo', 'Di', 'Mi', 'Do', 'Fr');




weitere Beiträge zum Thema PHP




Schreibe einen Kommentar



24649