Donnerstag, 2. November 2017

Arrays


Arrays sind ein wichtiges Konzept in PHP.

Ein Array ist eine geordnete Liste oder wenn es eine Tabelle.

Beispielsweise eine Liste (Tabelle) von Zahlen oder eine Liste von Texten (Strings).

Wir können mittels einem Array beispielsweise die Wochentage in einer Liste zusammenfassen, oder alle Benutzer unsere Seite.

Arrays werden gerne verwendet, um Ergebnisse von Datenbankabfragen erstmal in einer Tabelle zwischenzuspeichern um danach mit den Daten weiterzuarbeiten.

Arrays definieren

Bisher konnte jede Variable nur einen Wert speichern.

In einem Array können nun aber beliebig viele Werte gespeichert werden, auch von unterschiedlichen Typen. So kann ein PHP Array z.B. eine Zeichenkette (String/Text), eine Ganzzahl und eine Zahl mit Kommastellen enthalten und auf jeden dieser Werte kann man separat zugreifen.

Einem PHP Array wird ganz normal ein Variablenamen zugeordnet, hier wochentage, allerdings erfolgt die Zuweisung der Daten nicht einfach durch das Gleichheitszeichen, sondern danach kommt noch der Befehl: array();.

Beispiel: Wir speichern die Wochentage:

<?php
$wochentage = array("Sonntag","Montag","Dienstag",
"Mittwoch","Donnerstag","Freitag","Samstag");
echo $wochentage[1];
?>

Als Ergebnis bekommen wir Montag zurück.

Warum nicht Sonntag?

Wir bekommen nicht Sonntag zurück, denn wenn kein Schlüssel definiert wurde, dann legt php selber einen an und nummeriert die Elemente einfach durch, allerdings beginnes damit nicht mit 1 sondern mit 0.

Assoziative Arrays definieren

Bei großen Arrays wird es irgendwann umständlich zu wissen, welche Nummer/Index zu welchem Wert gehört, darum gibt es assoziative Arrays.

Assoziatives Array bedeutet, dass nicht php die Elemente durchnummeriert und so einen Schlüssel anlegt, sondern dass wir selber einen Schlüssel zuordnen.

Das heißt, man kann für einen Wert einen Schlüssel (auch Key genannt) zuweisen, dies kann z.B. eine andere Zeichenkette sein.

Die Zuweisung erfolgt per =>


Beispiel:


<?php
$wochentage = array(
"so" => "Sonntag",
"mo" => "Montag",
"di" => "Dienstag",
"mi" => "Mittwoch",
"do" => "Donnerstag",
"fr" => "Freitag",
"sa" => "Samstag");

echo $wochentage["mo"];
?>


Dies ist wieder ein Array mit unseren Namen der Wochentage.
Dabei wurde dem Schlüssel so der Wert Sonntag zugewiesen, dem Schlüssel mo dem Wert Montag und so weiter.

Der Vorteil ist, dass man jetzt bequemer auf das Array zugreifen kann:

echo $wochentage["mo"];

Ausgabe: Montag

Anstatt jetzt die Nummer/Index des Elementes anzugeben, gibt man hier den Schlüssel für das Element an, also so für Sonntagmo für Montag und sa für Samstag.

Selbstverständlich kann man nachträglich auch Werte in einem Array verändern:

<?php
$wochentage = array(
"so" => "Sonntag",
"mo" => "Montag",
"di" => "Dienstag",
"mi" => "Mittwoch",
"do" => "Donnerstag",
"fr" => "Freitag",
"sa" => "Samstag");

$wochentage["mo"] = "Monday";
echo $wochentage["mo"];
?>


Ausgabe: Monday

Weitere Werte einem Array hinzufügen

Ihr könnt einem Array bequem weitere Werte hinzufügen. Dies geht mittels [] hinter dem Array-Namen:

<?php
$mitarbeiter = array("'Hugo","Richard");
$mitarbeiter[] = "Amalia";

echo $mitarbeiter[2];
?>


Ausgabe: Amalia

Mit $mitarbeiter[] wird automatisch ein neues Element in unserem Array erstellt, und diesem wird der Wert Amalia zugewiesen.
Dies lässt sich ebenfalls auch auf leere Arrays anwenden:

<?php
$mitarbeiter = array();
$mitarbeiter[] = "Hugo";
$mitarbeiter[] = "Richard";
$mitarbeiter[] = "Amalia";

echo $mitarbeiter[0];
?>


Hier wird zuerst ein leeres Array erstellt und danach werden die Mitarbeiter hinzugefügt.

Wie viele Elemente ihr einem Array hinzufügen möchtet, ist euch überlassen.

Mit assoziativen PHP Arrays funktioniert dies ähnlich, aber wir müssen den neuen Schlüssel mit angeben:

$mitarbeiter = array(
   "Hugo" => "Hugo Seppele",
   "Richard" => "Richard Fuentes");
$mitarbeiter["Amalia"] = "Amalia  Hopfenbuehl";
echo $mitarbeiter["Amalia"];
?>
Ausgabe: Amalia Hopfenbuehl

Sollte der Schlüssel Amalia bereits vergeben sein, dann wird kein neuer Eintrag  erstellt, sondern der vorhandene Eintrag wird überschrieben.

Keine Kommentare:

Kommentar veröffentlichen

Suchmaschinenoptimierung

  Was versteht man unter Suchmaschinenoptimierung (SEO)   Mit dem Begriff Suchmaschinenoptimierung werden alle Aktivitäten bezeichnen, die...