Design · PHP · Server

Design · PHP · Server

WordPress · Drupal · PrestaShop

  • Startseite
  • WordPress
  • PHP / Datenbanken
  • Ubuntu
  • Prestashop
  • Grafik
  • Glossar

PHP: Switch Statements und der Ternary Operator

1. November 2013 Leave a Comment

Switch Statements

Alternativ zum Conditional Statement mit if und else kann man auch ein Switch Statement benutzen. Die Basisstruktur eines Switch Statements besteht aus dem Keyword switch gefolgt von einem Paar Klammern, das den Wert enthält, der getestet werden soll. Es folgen geschweifte Klammern, die den eigentlichen Inhalt des Switch Statements enthalten. Hier steht zunächst das Keyword case gefolgt von dem Wert und einem Doppelpunkt. Wenn der im Switch Statement genannte Fall eintritt, dann wird der nachfolgende Code ausgeführt.

switch($var) {
              case value1: do this;
             }

Es wird hiermit das Gleiche erreicht wie bei einem Conditional Statement mit if, bei dem getestet wird, ob $var dem Wert value1 entspricht.
In einem Switch Statement können auch mehrere Werte hintereinander getestet werden, wobei jeder Fall mit einem break; abgeschlossen wird.

switch($var) {
              case value1:
              mache dies;
              break;

              case value2:
              mache was anderes;
              break;

              default:
              mache als Standardhandlung das;
              }

Am Ende kann eine default Option eingefügt werden, die ausgeführt wird, wenn alle anderen genannten Fälle nicht zutreffen. Es können auch mehrere Werte gleichzeitig einer Handlung zugeordnet werden:

switch($var) {
               case value1:
               mache dies;
               break;

               case value2:
               case value3:
               mache was anderes;
               break;

               default:
               mache als Standardhandlung das;
             }

Dieses Switch Statement erfüllt exakt die gleiche Funktion wie ein Conditional Statement mit elseif

if($var == value1) {
                     mache dies;
                   } elseif($var == value1 || value2) {
                     mache was anderes;
                   } else {
                     mache als Standardhandlung das;
                   }

Bei vielen Optionen kann das Switch Statement übersichtlicher und leichter zu handhaben sein, ansonsten gibt es keine speziellen Vor- oder Nachteile, weshalb man das eine dem anderen vorziehen sollte.

Benutzt man das Switch Statement, so muss man aufpassen, dass man nicht vergisst den break Befehl nach jedem Fall einzufügen. Vergisst man den break Befehl, so wird auch der nachfolgende Code ausgeführt, selbst wenn die nachfolgende Bedingung nicht erfüllt ist, da ohne den break Befehl die nachfolgenden Befehle auch noch für die vorherige Bedingung gelten, die wahr war. Es wird bei Vergessen des break Befehls der gesamte Code bis zum Ende oder bis zum nächsten break Befehl ausgeführt.

Der Ternary Operator

Der Ternary Operator weist der Variablen verschiedene Werte zu, je nachdem ob eine Bedingung wahr oder falsch ist. Die Struktur sieht wie folgt aus:

$var = (condition) ? value if true : value if false;

Der Variablen wird mit dem Gleichheitszeichen eine Bedingung zugewiesen. Es folgt ein Fragezeichen und dann der Wert, für den Fall, dass die Bedingung wahr (true) ist. Danach folgt ein Doppelpunkt und der Wert, falls die Bedingung falsch (false) ist.
Der Ternary Operator ist ebenfalls eine Alternative zum if / else Statment. Das oben genannte Strukturbeispiel würde in einem if / else Statement wie folgt aussehen:

if(condition) {
                $var = value if true
              } else {
                $var = value if false
              }

Beispiel für den Ternary Operator:

$language = 'englisch';
$gruss = ($language == 'deutsch') ? 'Guten Morgen' : 'Good Morning' ;
echo $gruss;

Ausgegeben wird in obigem Beispiel Good Morning

Filed Under: PHP / Datenbanken Tagged With: Switch Statements, Ternary Operator

PHP: Kontrollstrukturen

30. Oktober 2013 Leave a Comment

Conditional Statements

if (condition is true) { führe diese Anweisung aus }

Ein solches Conditional Statement besagt, dass wenn die Bedingung in der Klammer wahr (true) ist, dann wird der Code in den geschweiften Klammern ausgeführt, andernfalls wird der Code ignoriert.

Wenn ein anderer Code ausgeführt werden soll, falls die Bedingung falsch ist, dann kann mit dem Keyword else eine zweite alternative Anweisung erfolgen.

if (condition is true) { führe diese Anweisung aus } else { führe diese alternative Anweisung aus }

Es können auch mehrere Bedingungen aneinandergehängt werden

if (condition is true) {
                         führe diese Anweisung aus

                       }
   elseif (condition 2 ist true) {
                         führe die Anweisung 2 aus
                       }
   else {
          Anweisung für alle anderen Bedingungen
        }

 

elseif kann man in einem oder in zwei Worten (else if) schreiben. Gebräuchlicher ist die Schreibweise in einem Wort.

Vergleichsoperatoren (Comparison Operators)


 

Logische Operatoren


Beispiel für ein Conditional Statement:

$tag = 'Montag';

if ($tag == 'Montag') {
                         echo "Heute ist ein Werktag";
                      } 
            elseif ($tag == 'Sonntag') {
                         echo "Heute ist ein Feiertag";
                      } 
            elseif ($tag == 'Samstag' || 'Sonntag') {
                         echo "Heute ist Wochenende";
                      } else {
                         echo "Heute ist ein Tag wie jeder andere";
                      }

 

 

Filed Under: PHP / Datenbanken Tagged With: Conditional Statement, Logische Operatoren, Vergleichsoperatoren

PHP: Boolesche Werte (Boolean Values)

28. Oktober 2013 2 Comments

George Boole Bild: Wikimedia, Public Domain
George Boole (1815 – 1964)
Bild: Wikimedia, Public Domain
Eine der großen Stärken von PHP ist es, aufgrund von Bedingungen Entscheidungen fällen zu können und darauf basierend, unterschiedliche Tasks auszuführen. Eine Bedingung muss entweder wahr oder falsch sein (true oder false).

Die Werte true bzw. false werden auch Boolesche Werte (Boolean Values) genannt. Die Benennung erfolgte nach George Boole, einem englischen Mathematiker aus dem 19. Jahrhundert, dessen Arbeiten als Basis für die Computerlogik gelten.

Entscheidungen können auch aufgrund eines Vergleichs von zwei nicht-Boolescher Werte (non-Boolean values) gefällt werden. Ein Beispiel wäre der Vergleich von zwei Zahlen, ob sie den gleichen Wert haben oder ob eine Zahl größer oder kleiner ist als die andere.

Bei Booleschen Werten unterscheidet man zwischen expliziten und impliziten Werten.

Explizite Werte (explicit Boolean Values) sind:

Die Keywords true oder false. Bei diesen Keywords wird nicht zwischen Groß- und Kleinschreibung unterschieden. Man kann sie in Großbuchstaben, Kleinbuchstaben oder sogar in einem Mix aus Groß- und Kleinbuchstaben schreiben (was jedoch wegen der schlechten Lesbar nicht empfehlenswert ist):

$bedingung = TRUE;
$bedingung = TruE;

$bedingung = false;
$bedingung = FaLsE;

Die Keywords true oder false dürfen nicht in Anführungszeichen stehen!

Zusätzlich zu den expliziten Booleschen Werten unterstützt PHP auch implizite Boolesche Werte (Implicit Boolean Values). Folgende Werte werden automatisch als falsch (false) angesehen:

  • Die Keywords false oder null
  • Die Null als eine Zahl oder ein String (0, 0.0 , ‚0‘)
  • Ein leerer String zwischen einfachen oder doppelten Anführungszeichen ohne Leerstelle dazwischen (“, „“)
  • Ein leerer Array
  • Ein SimpleXML Object, das aus leeren Tags erstellt wurde.

Alles andere wird als true angesehen.

$ok = "false";

Dieser Wert wird von PHP als wahr angesehen, denn „false“ ist in Anführungszeichen gesetzt und damit ein String.

 

$ok = false;

Dieser Wert wird von PHP als falsch angesehen, denn false ist in diesem Fall der Boolesche Wert false.

Bildnachweis: George Boole – Quelle: Wikimedia, Public Domain

Filed Under: PHP / Datenbanken Tagged With: Boolean values, Boolesche Werte, PHP, PHP Anfänger

  • « Previous Page
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Next Page »
Anzeige

Themen

Apache Boolean values Boolesche Werte BuddyPress chmod Code Snippets Concatenation Operator Custom Post Types Datenbank Email Enfold fail2ban genesis Grid View htaccess i-mscp Indesign Layout Builder LibreOffice List View Mitgliederbereich MySQL PHP PHP Anfänger PHP Variablen Plugins Prestashop Prestashop 1.5 Prestashop 1.6 Prestashop Module Registrierung RSS Feed s2member Schreibrechte Server Shell ssl Strings Tipps Windows Windows 10 Windows 11 WooCommerce WooCommerce Sortierung WordPress
Anzeige

Letzte Kommentare

  • Martin bei CSS: Automatische Silbentrennung in einzelnen Wörtern verhindern
  • Martin bei CSS: Automatische Silbentrennung in einzelnen Wörtern verhindern
  • Klaus bei Woocommerce: Shop Seiten neu generieren
  • Thomas bei WordPress: Einzelne Kategorien aus dem RSS Feed ausschließen
  • Bernhard bei CSS: Automatische Silbentrennung in einzelnen Wörtern verhindern

Informationen

  • Kontakt
  • Datenschutzerklärung
  • Impressum
  • Cookie-Richtlinie (EU)
  • Kontakt
  • Datenschutzerklärung
  • Impressum
  • Cookie-Richtlinie (EU)
Anzeige
Cookie-Zustimmung verwalten
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Einstellungen ansehen
{title} {title} {title}