Programmieren mit PHP, Teil 3

Arrays in PHP nutzen

| Autor / Redakteur: Thomas Joos / Stephan Augsten

In einer Array-Variable lassen sich viele Werte in Form einer Liste hinterlegen und gezielt ansprechen.
In einer Array-Variable lassen sich viele Werte in Form einer Liste hinterlegen und gezielt ansprechen. (Bild: lmonk72 - Pixabay.com.jpg / CC0)

Arbeitet man in PHP mit mehreren Werten wie Listen mit Produkten und Elementen, sind Arrays notwendig. Hier lassen sich mehrere Objekte einbinden, die im Verlauf des Codes weiter verwendet werden können.

Um ein Array zu erstellen, kann zum Beispiel eine Variable definiert werden, die wiederum aus einem Array besteht. Im Array werden die Objekte festgelegt, die wiederum als Liste im Code häufiger verwendet werden sollen, zum Beispiel Produkte in einem Webshop.

Arrays erstellen

Gehen wir davon aus, dass eine Liste mit den Objekten „Produkt1“, „Produkt2“ und „Produkt3“ im Code genutzt werden sollen. Der erste Schritt besteht darin, zunächst eine Variable zu definieren und hier als Array zu konfigurieren:

$produkt = array ();

In den Klammern werden die Objekte integriert, die Bestandteil des Arrays sein sollen. Handelt es sich dabei um einen String, muss dieser in Anführungszeichen gesetzt werden. Die einzelnen Bestandteile der Liste werden dann wiederum mit Kommas getrennt, zum Beispiel:

$produkt = array („Produkt1“, „Produkt2“, „Produkt3“);

Sollen Zahlen im Array aufgenommen werden, fallen die Anführungszeichen weg:

$Wert = array (22, 37, 45, 67, 89, 102, 333);

Oft ergibt sich im Rahmen eines Objektes die Notwendigkeit, zu einem vorhandenen Array weitere Mitglieder der Liste hinzuzufügen. Dazu wird die Variable des Arrays mit eckigen Klammern [] aufgerufen und der Name des neuen Objektes aufgenommen:

$produkt [] = „Produkt4“;

Alternativ ist es möglich Arrays zu definieren, indem die Werte des Arrays in der Variablen in eckigen Klammern aufgelistet werden. In diesem Fall ist die Benennung als Array nicht notwendig:

$produkt = [„Produkt1“, „Produkt2“, „Produkt3“];

Arrays lassen sich auch verschachteln. Dazu wird beim Erstellen eines Arrays in der Liste der enthaltenen Objekte ein weiteres Array erstellt, das seinerseits wieder Objekte enthält. Dadurch kann eine nahezu beliebige Anzahl an Arrays und Unterarrays erstellt und verschachtelt werden.

Arrays verwenden

Um die Daten in einem Array zu nutzen, zum Beispiel um einzelne Daten auszugeben, wird das Array über seine Variable aufgerufen. Soll ein bestimmtes Produkt ausgegeben werden, zum Beispiel mit „echo“, dann muss in eckigen Klammern [] die Nummer des Objektes im Array angegeben werden.

PHP nummeriert die Objekte in einem Array automatisch und beginnt mit dem Wert 0. Die Objekte im oben definierten Array haben also die folgenden Nummern: „Produkt1“ = 0, „Produkt2“ = 1, „Produkt3“ = 2 und „Produkt4“ = 3. Soll „Produkt1“ angezeigt werden, wird der folgende Befehl genutzt:

echo $produkt [0];

Arrays verwalten und auslesen – auch mit Schleifen

Natürlich lassen sich auch Informationen zum Array anzeigen. Sinnvoll ist das, wenn ein Array anwächst und zum Beispiel nicht klar ist, welche Objekte im Array enthalten sind und welche Nummerierung die Objekte im Array haben. Dazu wird folgender Befehl verwendet, am Beispiel des hier erstellen Arrays mit der Variablen „$Produkt“:

print_r ($produkt);

Arrays können aber auch mit Schleifen ausgelesen werden, um die Ausgabe eines Arrays schöner zu formatieren. Ideal ist hier eine Foreach-Schleife. Hier wird die Variable des Arrays verwendet und zusätzlich eine weitere Variable erzeugt, um die Ausgabe zu steuern. In geschweiften Klammern wird der Befehl angegeben, der in Schleife genutzt werden soll. Um ein Array auszugeben, ist zum Beispiel „echo“ sinnvoll:

foreach ($Produkt as $ProdAus) {

   echo „$ProdAus“;
}

Soll die Ausgabe noch mit Zeilenumbrüchen erfolgen, ist folgende Syntax sinnvoll:

foreach ($Produkt as $ProdAus) {
   echo „$ProdAus<br>\n“;
}

Zufallsauswahl und Variablen nutzen

Um ein zufälliges Objekt in einem Array zu nutzen ist es sinnvoll, zunächst die Anzahl der Objekte im Array zu zählen. Die Anzahl kann wiederum in einer Variablen gespeichert werden:

$anzahl = count($Produkt);

Natürlich kann die Anzahl auch wieder mit „echo“ ausgegeben werden:

echo $Anzahl;

Auf Basis der Daten lässt sich ein Zufallswert erzeugen. Hier wird ein Minimalwert festgelegt, in diesem Beispiel der Wert 0, weil es sich dabei um den ersten Wert des Arrays handelt. Als zweiter Wert, wird die Anzahl der Objekte im Array verwendet, die über „count“ ermittelt wurde:

$zufall = Rand(0, $Anzahl)

In PHP lassen sich aber auch Zufallselemente auslesen, in dem „array_rand“ verwendet wird. In diesem Beispiel würde das Speichern eines zufälligen Inhalts im Array folgendermaßen aussehen:

$zufall = array_rand($Produkt);

Allerdings muss hier beachtet werden, dass die Variable $Anzahl die tatsächliche Anzahl der Produkte zählt, in unserem Beispiel also 4 zurückliefert (Produkt1 bis Produkt4). Da „rand“ aber bereits mit dem Zähler 0 beginnt, ist die größte Nummerierung im Array wie erwähnt 3. Aus diesem Grund muss die Variable um 1 reduziert werden:

$anzahl = count($Produkt) -1;

Dadurch kann $Anzahl mit „rand“ in diesem Beispiel genutzt werden.

Assoziative Arrays nutzen

Mit assoziativen Arrays lassen sich die einzelnen Objekte in einem Array selbst benennen. In diesem Fall wird keine Indexnummer verwendet, so wie in dem Beispiel weiter oben, sondern Entwickler können selbst steuern, wie die Objekte im Index benannt werden. Dabei kann es sich auch um Abkürzungen oder Ziffernfolgen handeln. Die Syntax dazu ist recht ähnlich zum Beispiel oben:

$produkt = array (
   „Produkt1“ => „Pro1“,
   „Produkt2“ => „Pro2“,
   „Produkt3“ => „Pro3“
);

Auch hier können zusätzliche Objekte aufgenommen werden:

$produkt [Produkt4] = „Pro4“;

Auch hier lassen sich die Werte wieder ausgeben:

print_r ($produkt);

Auch hier ist die Syntax mit den eckigen Klammern erlaubt:

$produkt = [
   „Produkt1“ => „Pro1“,
   „Produkt2“ => „Pro2“,
   „Produkt3“ => „Pro3“
];

PHP stellt spezielle assoziative Arrays bereits standardmäßig zur Verfügung, ohne dass diese erst erstellt werden müssen. Ein Beispiel dafür ist „$_SERVER“ um Informationen über den Server anzuzeigen. Welche Daten enthalten sind, lässt sich zum Beispiel mit ...

print_r ($_SERVER);

... anzeigen.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45510260 / Web Apps)