PHP Made Simple: Grundlagen - Teil 2

Dies ist Teil 2 der PHP Made Simple Serie. Wir lernen den Aufbau von PHP-Skripten, die Verwendung von Variablen, Arrays und Kontrollstrukturen kennen.

PHP Made Simple: Grundlagen - Teil 2
Photo by Job Ferrari on Unsplash
PHP Made Simple: Grundwissen - Teil 1
PHP, seit 1995 eine führende Websprache, punktet mit einfacher Syntax und starker Datenbankintegration. Ideal für Anfänger und kleinere Projekte, bleibt es trotz moderner Konkurrenz wie Node.js durch Updates in PHP 7 und 8 leistungsfähig und relevant.

Dies ist Teil 2 der PHP Made Simple Serie. Teil 1 findest du hier

Im letzten Beitrag haben wir uns mit der Historie, sowie Vor- und Nachteilen von PHP beschäftigt. Nun geht es an die Praxis! Wir beschäftigen uns mit dem grundlegenden Aufbau, Variablen, Arrays und Kontrollstrukturen. Lasst uns also nicht lange warten und direkt mit der Grundlegenden Syntax von PHP beginnen.

Grundlegende Syntax von PHP

PHP-Skripte werden in Dateien mit der Endung .php gespeichert und beginnen mit dem Tag <?php. Dadurch weiß der Server, ab wo er den PHP Code zu interpretieren hat.
Um eine einfache Ausgabe zu erzeugen, verwenden wir den Befehl echo - wie der Name schon vermuten lässt, gibt er den danach folgenden Code zurück.
Mit der Zeichenfolge ?> schließen wir den PHP-Code ab.

<?php
echo "Hallo, Welt!";
?>

Variablen in PHP

Eine der grundlegendsten Funktionen in jeder Programmiersprache ist die Verwendung von Variablen. In PHP beginnen Variablen immer mit einem Dollarzeichen ($).

💡
In PHP beginnen Variablen immer mit einem Dollarzeichen ($).

Lasst uns also zwei Variablen $name und $age anlegen. Im Gegensatz zu anderen Programmiersprachen, müssen wir keine explizite Typisierung vornehmen. Wir können also einfach einen Wert zuweisen.

$name = "Max";
$age = 25;

Wenn wir diese nun verwenden wollen, können wir sie einfach über ihren Namen aufrufen. Zusammen mit dem zuvor eingeführten Befehl echo können wir nun abhängig vom Inhalt der Variablen einen Satz ausgeben. Die sogenannte String-Interpolation ermöglicht es, dass wir die Variablen innerhalb von doppelten Anführungszeichen (") direkt verwenden können.

echo "Hallo, mein Name ist $name und ich bin $age Jahre alt.";

Setzen wir nun beides Zusammen, schaut es wie folgt aus:

<?php
$name = "Max";
$age = 25;

echo "Hallo, mein Name ist $name und ich bin $age Jahre alt.";
?>

Arrays in PHP

Neben Variablen gehören Arrays zu den wichtigsten Werkzeugen in PHP. Sie ermöglichen es, mehrere Werte in einer einzigen Variablen zu speichern, und bieten eine flexible Möglichkeit, Daten zu organisieren und zu verarbeiten. PHP unterstützt zwei Haupttypen von Arrays: numerische Arrays und assoziative Arrays.

💡
PHP unterstützt zwei Haupttypen von Arrays: numerische Arrays und assoziative Arrays.

Numerische Arrays

Ein numerisches Array verwendet numerische Indizes, um die Elemente zu speichern. Dabei wird der erste Wert standardmäßig mit dem Index 0 gespeichert, der zweite mit 1, und so weiter.

Generell gibt es zwei Möglichkeiten, ein Array in PHP zu erstellen:

Mit [] - die modernere Methode:

$farben = ["Rot", "Grün", "Blau"];

Mit array() - es ist die etwas ältere Methode, funktioniert aber weiterhin.

$farben = array("Rot", "Grün", "Blau");

Nachdem wir jetzt das Array angelegt haben, müssen wir nun auch auf die Elemente zugreifen können. Auf ein bestimmtes Element kann man über den entsprechenden Index zugreifen:

<?php
$farben = ["Rot", "Grün", "Blau"];

echo $farben[0]; // Gibt "Rot" aus
echo $farben[1]; // Gibt "Grün" aus
echo $farben[2]; // Gibt "Blau" aus
?>
⚠️
Wichtig: Der Index beginnt immer bei 0.

Assoziative Arrays

Ein assoziatives Array verwendet Schlüssel-Wert-Paare, um Daten zu speichern. Anstelle von numerischen Indizes werden benutzerdefinierte Schlüssel verwendet, um die Werte zu organisieren.

Erstellung eines assoziativen Arrays
<?php
$personen = [
    "Max" => 25,
    "Anna" => 30,
    "Tom" => 18
];
?>

In diesem Beispiel sind die Schlüssel "Max", "Anna" und "Tom" sowie die dazugehörigen Werte 25, 30 und 18.

Zugriff auf Werte in assoziativen Arrays

Um den Wert eines bestimmten Schlüssels zu erhalten, verwendet man den Schlüssel in eckigen Klammern. Anstelle der Nummern bei numerischen Arrays nun eben den entsprechend anderen Wert.

<?php
echo "Max ist " . $personen["Max"] . " Jahre alt.";
?>

Arrays erweitern und durchlaufen

Arrays sind nicht nur vielseitig, sondern auch flexibel, da sie jederzeit erweitert werden können. Egal ob numerische oder assoziative Arrays – in PHP ist es einfach, neue Werte hinzuzufügen. Zudem bietet PHP eine praktische Möglichkeit, Arrays mit Schleifen zu durchlaufen, um auf alle Elemente zuzugreifen.

Arrays erweitern

Numerische Arrays lassen sich erweitern, indem man einfach einen neuen Wert hinzufügt. PHP platziert diesen automatisch am Ende des Arrays. Ein Beispiel:

<?php
$farben = ["Rot", "Grün"];
$farben[] = "Blau"; // Fügt "Blau" am Ende hinzu

print_r($farben);
?>

Die Funktion print_r ist besonders nützlich, wenn man den Inhalt einer Variablen, insbesondere eines Arrays, ausgeben möchte. Sie zeigt die Struktur des Arrays in einer lesbaren Form, was beim Debugging oder Verstehen der Datenstruktur hilfreich ist. In diesem Fall sieht die Ausgabe folgendermaßen aus:

Array ( [0] => Rot [1] => Grün [2] => Blau )

Ähnlich können assoziative Arrays erweitert werden, indem man einen neuen Schlüssel-Wert-Paar hinzufügt:

<?php
$personen = ["Max" => 25];
$personen["Anna"] = 30; // Fügt "Anna" mit dem Wert 30 hinzu

print_r($personen);
?>

Auch hier wird die Funktion print_r verwendet, um die Struktur des Arrays zu visualisieren:

Array ( [Max] => 25 [Anna] => 30 )

Arrays durchlaufen

Eine der häufigsten Anwendungen von Arrays ist das Durchlaufen aller enthaltenen Elemente. Hierbei hilft die foreach-Schleife, die speziell für Arrays und andere iterierbare Strukturen entwickelt wurde.

💡
Die foreach-Schleife wurde speziell für Arrays und andere iterierbare Strukturen entwickelt.

Numerische Arrays können wie folgt durchlaufen werden:

<?php
$farben = ["Rot", "Grün", "Blau"];

foreach ($farben as $farbe) {
    echo "Die Farbe ist $farbe<br>";
}
?>

Die Schleife nimmt jedes Element des Arrays und weist es nacheinander der Variablen $farbe zu. Die Ausgabe würde so aussehen:

Die Farbe ist Rot
Die Farbe ist Grün
Die Farbe ist Blau

Für assoziative Arrays ermöglicht die foreach-Schleife den Zugriff sowohl auf den Schlüssel als auch auf den Wert eines jeden Elements:

<?php
$personen = [
    "Max" => 25,
    "Anna" => 30,
    "Tom" => 18
];

foreach ($personen as $name => $alter) {
    echo "$name ist $alter Jahre alt.<br>";
}
?>

Hier wird jeder Schlüssel dem $name und jeder Wert dem $alter zugewiesen. Die Ausgabe lautet:

Max ist 25 Jahre alt.
Anna ist 30 Jahre alt.
Tom ist 18 Jahre alt.

Teil 1 - PHP Made Simple
PHP, seit 1995 eine führende Websprache, punktet mit einfacher Syntax und starker Datenbankintegration. Ideal für Anfänger und kleinere Projekte, bleibt es trotz moderner Konkurrenz wie Node.js durch Updates in PHP 7 und 8 leistungsfähig und relevant.

Kontrollstrukturen in PHP

Neben den Arrays sind auch Kontrollstrukturen wie if, else und elseif einer der zentralen Bausteine der Programmierung. Sie ermöglichen es, Entscheidungen im Code basierend auf bestimmten Bedingungen zu treffen.

💡
Kontrollstrukturen ermöglichen es, Entscheidungen im Code basierend auf bestimmten Bedingungen zu treffen.

if-Anweisung

Die if-Anweisung überprüft, ob eine bestimmte Bedingung erfüllt ist. Wenn die Bedingung den Wert true (wahr) hat, wird der Code innerhalb der geschweiften Klammern ausgeführt.

<?php
$alter = 20;

if ($alter >= 18) {
    echo "Du bist volljährig.";
}
?>

Hier wird geprüft, ob die Variable $alter größer oder gleich 18 ist. Da $alter den Wert 20 hat, ist die Bedingung wahr, und die Nachricht "Du bist volljährig." wird ausgegeben. Würde $alter beispielsweise den Wert 16 haben, würde der Codeblock übersprungen und es würde keine Ausgabe erfolgen.

if mit else

Die else-Anweisung wird verwendet, um einen alternativen Codeblock auszuführen, falls die Bedingung in der if-Anweisung falsch ist.

<?php
$alter = 16;

if ($alter >= 18) {
    echo "Du bist volljährig.";
} else {
    echo "Du bist noch minderjährig.";
}
?>

In diesem Fall wird geprüft, ob $alter größer oder gleich 18 ist. Da der Wert 16 diese Bedingung nicht erfüllt, wird der Codeblock im else ausgeführt, und die Nachricht "Du bist noch minderjährig." erscheint.

if mit elseif

Die elseif-Anweisung erlaubt es, mehrere Bedingungen nacheinander zu prüfen. Sobald eine Bedingung wahr ist, wird der entsprechende Codeblock ausgeführt, und die übrigen Bedingungen werden ignoriert.

<?php
$alter = 25;

if ($alter < 18) {
    echo "Du bist minderjährig.";
} elseif ($alter < 30) {
    echo "Du bist ein junger Erwachsener.";
} else {
    echo "Du bist erwachsen.";
}
?>

Hier werden drei Bedingungen geprüft:

  1. Ist $alter kleiner als 18? Diese Bedingung ist falsch, da $alter den Wert 25 hat.
  2. Ist $alter kleiner als 30? Diese Bedingung ist wahr, daher wird die Nachricht "Du bist ein junger Erwachsener." ausgegeben.
  3. Die letzte else-Anweisung wird ignoriert, da bereits eine wahre Bedingung gefunden wurde.

Verschachtelte if-Anweisungen

if-Anweisungen können auch ineinander verschachtelt werden, um komplexere Logiken abzubilden. Dabei wird eine zweite Bedingung nur geprüft, wenn die erste wahr ist.

<?php
$alter = 20;
$mitglied = true;

if ($alter >= 18) {
    if ($mitglied) {
        echo "Willkommen, du bist Mitglied und volljährig.";
    } else {
        echo "Du bist volljährig, aber kein Mitglied.";
    }
} else {
    echo "Du bist minderjährig.";
}
?>

Zuerst wird geprüft, ob $alter größer oder gleich 18 ist. Da dies wahr ist, wird die verschachtelte Bedingung geprüft: Ist $mitglied wahr? Da $mitglied den Wert true hat, wird die Nachricht "Willkommen, du bist Mitglied und volljährig." ausgegeben. Hätte $mitglied den Wert false, würde die zweite Nachricht ausgegeben werden.


Alles zusammen: PHP in Aktion

Kombinieren wir nun all das, was wir in diesem Beitrag gelernt haben in einem vollständigen Beispiel:

<?php
$personen = [
    "Max" => 25,
    "Anna" => 30,
    "Tom" => 18,
    "Lisa" => 17,
    "Peter" => 65
];


$erlaubteFarben = ["Rot", "Grün", "Blau", "Gelb"];


$lieblingsfarbe = "Blau";

echo "<br>Alterskategorien:<br>";
foreach ($personen as $name => $alter) {
    if ($alter < 18) {
        echo "$name ist minderjährig und darf die Veranstaltung nicht besuchen.<br>";
    } elseif ($alter < 30) {
        echo "$name ist ein junger Erwachsener.<br>";
    } else {
        echo "$name ist ein erwachsener Teilnehmer.<br>";
    }
}


echo "<br>Lieblingsfarbe-Überprüfung:<br>";
if (in_array($lieblingsfarbe, $erlaubteFarben)) {
    echo "Die Lieblingsfarbe $lieblingsfarbe ist erlaubt.<br>";
} else {
    echo "Die Lieblingsfarbe $lieblingsfarbe ist nicht erlaubt.<br>";
}


echo "<br>Erlaubte Farben nach Hinzufügen von 'Orange':<br>";
$erlaubteFarben[] = "Orange";
print_r($erlaubteFarben);
?>

Die Personenliste besteht aus dem Array $personen, das Namen als Schlüssel und das jeweilige Alter als Wert speichert. Während das Array durchlaufen wird, wird für jede Person überprüft, ob sie minderjährig ist, als junger Erwachsener gilt oder als erwachsener Teilnehmer eingestuft wird. Diese Kategorisierung erfolgt anhand des Alters und wird entsprechend ausgegeben.

Für die Farbenprüfung wird das Array $erlaubteFarben verwendet, das alle zugelassenen Farben enthält. Zusätzlich wird die Variable $lieblingsfarbe genutzt, um zu überprüfen, ob die angegebene Lieblingsfarbe in der Liste der erlaubten Farben enthalten ist. Das Ergebnis dieser Überprüfung wird dem Nutzer angezeigt.

Nach der Verarbeitung wird die Farbe "Orange" zur Liste der zugelassenen Farben in $erlaubteFarben hinzugefügt. Anschließend wird das gesamte Array erneut ausgegeben, um die aktualisierte Liste der erlaubten Farben zu zeigen.


Super! Damit haben wir ein erstes, einfaches PHP Skript geschrieben!
Im nächsten Artikel unserer PHP Serie geht es um Formulare und deren Auswertung! Lies doch direkt weiter!
PHP Made Simple: Formulare - Teil 3
Im 3. Teil der PHP Made Simple Serie zeigen wir, wie du Formulardaten sicher empfängst, validierst und weiterverarbeitest.