Sie sind hier: Startseite -> PHP-Grundlagen -> if-Abfrage

If-Abfrage für Schleifen in PHP nutzen

Die Standardabfrage in PHP

Die große Stärke von PHP und ähnlichen Programmiersprachen für den Interneteinsatz besteht darin, dass man mit der Sprache Abfragen erstellen kann. Mit reinem HTML kann man festlegen, wie die Seite aussehen soll, aber will man die Besucher begrüßen und auf die Tageszeit reagieren, braucht man Javascript. Will man dies barrierefrei realisieren, wird es schon Abfragen und PHP oder eine alternative Sprache wie JSP brauchen.

Übliche Abfragen im Skript mit PHP und if

Was genau ist eine Abfrage? Eine Abfrage ist das Prüfen eines Wertes und die Reaktion auf den Wert. Praktisches Beispiel: nehmen wir an, wir wollen wissen, wie spät es ist und fragen die Zeit ab. Die Zeit wird in einer Variable gespeichert und dann wird geprüft, ob es vor oder nach 12 Uhr ist. Ist es vor 12 Uhr, dann gibt es einen anderen Gruß als wenn es nach 12 Uhr ist. Um das zu bewerkstelligen, braucht man

a) eine Abfrage
b) eine Variable mit dem Wert
c) eine Bedingung, die die Prüfung erfordert

Die Variablen und die Operatoren für die Bedingungen wurden schon vorgestellt, die Abfrage wird hier erstmals besprochen. Die einfachste und am meisten eingesetzte Variante ist die if-Abfrage. Eine simple Abfrage könnte so aussehen:

<?php
$farbe = "blau";
if($farbe == "blau") {
$farbe = "rot";
}
echo $farbe;
?>

Zuerst wird die Variable $farbe definiert. Dann wird mit if abgefragt, ob die Farbe blau ist (zur Erinnerung: == steht für Gleichheit). Ist dies der Fall, dann werden alle Befehle innerhalb des Blockes { } abgearbeitet. In diesem Fall ist nur der Befehl enthalten, dass die Farbe auf rot geändert werden soll. Nach Ende des Blocks wird die Variable ausgedruckt und man wird natürlich als Information "rot" am Bildschirm sehen können.

Dazu gibt es jetzt viele Zusatzinformationen. Das simple Beispiel hätte man auch so schreiben können:

<?php
$farbe = "blau";
if($farbe == "blau") { $farbe = "rot"; }
echo $farbe;
?>

Das Ergebnis ist gleich und man spart zwei Zeilen. Aber wenn mehrere Befehle im Block stehen würden, wäre die Lesbarkeit schon mühsamer, weshalb sich die erste Variante besser empfiehlt und gerade am Anfang genutzt werden sollte.

Verschachtelte Abfrage mit if und PHP

Eine weitere wichtige Information bei der if-Abfrage in PHP ist die Tatsache, dass man if verschachteln kann. Das bedeutet, dass man verschiedene Abfragen in einen Zusammenhang rücken kann. Dazu ein praktisches Beispiel:

<?php
$farbe = "blau";
$farbe2 = "rot";
if($farbe == "blau") {
if($farbe2 == "rot") {
echo "ich mag blau und rot";
}
}
?>

In diesem Beispiel werden zuerst die Variablen farbe und farbe2 vordefiniert und dann wird abgefragt, ob die Farbe blau ist. Ist dies der Fall, dann wird als nächstes abgefragt, ob die 2. Farbe rot ist. Und nur dann, wenn beides zutrifft, kommt es zum echo-Befehl, der den eingetragenen Satz auf dem Monitor anzeigt.

Man hätte dieses simple Beispiel natürlich auch so lösen können:

if($farbe == "blau" && $farbe2 == "rot") {

In diesem Fall wären beide Voraussetzungen in einer Abfrage dargestellt worden, wobei die Verbindung aus "&&" besteht. Wir erinnern uns, dass dies für und steht und bedeutet, dass beide Abfragen positiv beantwortet werden müssen, damit es zu einer erfolgreichen Verarbeitung kommt. Passt eine der beiden Farben nicht, kommt es nicht zum eingetragenen echo-Befehl und der Monitor bleibt leer.

Diese Verschachtelung, die oben dargestellt wurde, kann beliebig erweitert werden. Es gibt keine maximale Grenze, aber man sollte sich zurückhalten, weil man sich sonst nicht mehr auskennt. Und dazu gleich ein Hinweis: sehr oft gibt es eine Fehlermeldung in der Zeile XX, die um eins höher ist als das gesamte Skript aufweist. In diesem Fall können Sie sicher sein, dass Sie eine Klammer vergessen haben. Im obigen Fall wäre eine solche Fehlermeldung so zu erreichen:

<?php
$farbe = "blau";
$farbe2 = "rot";
if($farbe == "blau") {
if($farbe2 == "rot") {
echo "ich mag blau und rot";
}
?>

Wir sehen: es fehlt die zweite geschlossene Klammer, die den ersten Block beendet. Dieses noch so simple Skript wird nie verarbeitet werden, solange man die fehlende Klammer nicht hinzufügt.

Eine Variable, mehrere Abfragen

Neben der Verschachtelung kann man if auch individuell nutzen. Ein Beispiel hierzu:

<?php
$datum = date("l");
if($datum == "Monday") { echo "Heute ist der Montag."; }
if($datum == "Tuesday") { echo "Heute ist der Dienstag."; }
?>

In diesem Fall arbeiten zwei if-Abfragen mit der gleichen Variable, kommen aber nicht in Berührung. Sie arbeiten individuell, obwohl sie die gleiche Aufgabe haben.

In der Einführung haben wir bereits über die Schreibweise von PHP gesprochen. Diese betrifft die if-Abfrage im Besonderen. Man könnte das obige Beispiel nicht nur so wie gezeigt nutzen, sondern auch so:

<?php
$datum = date("l");
if($datum == "Monday") {
?>
Heute ist der Montag
<?php
}
if($datum == "Tuesday") {
?>
Heute ist der Dienstag
<?php } ?>

In diesem Fall wurden die PHP if-Abfragen mit HTML kombiniert und dabei die PHP-Befehlsebene unterbrochen. Sobald "?>" eingetragen wird, gilt normales HTML im Anschluss und zwar solange, bis wieder PHP-Code angekündigt wird. Der Vergleich zeigt, dass die obere Version mit durchgängigem PHP weit lesbarer und sinnvoller ist. Aber das ist auch Geschmackssache und Gewohnheitssache. Die Empfehlung ist, diesen Rat zu beherzigen und einen sauberen Programmierstil von Beginn an zu pflegen.

Buchtipp: Einstieg in PHP8 und MySQL (Thalia)*
* = Affiliate-Link; bei Kauf unterstützen Sie diese Plattform

Lesen Sie auch

Mit den Variablen kann man in PHP Werte speichern und hat damit wird die Grundbasis gelegt, dynamische Situationen zu realisieren. Die eigentliche PHP-Programmierung erfolgt aber über Abfragen und Schleifen, um auf Situationen reagieren zu können. Die if-Abfrage ist für Entscheidungen sehr oft im Einsatz, kann mit else und elseif sogar erweitert werden.

Eine zweite Option besteht mit der switch-Schleife, durch die verschiedene Situationen auf Basis eines Arguments durchlaufen werden können. Diese kann man noch erweitern durch eine Oder-Verknüpfung und zusätzlich als zweite Variante mit einer Und-Verknüpfung.

Und dann gibt es die while-Schleife, die vor allem im Zusammenhang mit Auswertungen aus der Datenbank oft genutzt wird. Sie kann durch eine do-while-Konstruktion noch verändert werden und alternativ besteht auch die Lösung der for-Schleife.

Themenseiten

Diesen Artikel teilen

Infos zum Artikel

if-Abfrage in PHPArtikel-Thema: If-Abfrage für Schleifen in PHP nutzen
Beschreibung: Die ✅ if-Abfrage ist die häufigste Art der Abfrage bei der ✅ Programmierung in Skripte wie etwa bei den Webseiten und deren Module.

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel
Praxisartikel