SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=87&group=21
© 2001-2024 E-Mail SELFPHP Inh. Damir Enseleit, info@selfphp.de
© 2005-2024 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Boolesche Werte


Die Datentypen für Zahlen und Strings können beliebig viele verschiedene Werte annehmen. Der Datentyp Boolean kennt hingegen nur zwei mögliche Werte. Die zwei zulässigen Booleschen Werte sind true (wahr) und false (falsch). Ein boolescher Wert stellt einen Wahrheitswert dar, er besagt, ob ein Sachverhalt wahr ist oder nicht.

Hinweis: Die beiden Schlüsselwörter true und false unterscheiden nicht zwischen Groß- und Kleinschreibung.

Tipp: Um boolesche Werte besser zu verstehen, sollte man sich das einfache Schema eines Lichtschalters vorstellen. Ist das Licht an, steht der Lichtschalter auf Ein, dies entspricht dem booleschen Wert true. Ist das Licht aus, steht der Lichtschalter auf Aus, dies wiederum entspricht dem booleschen Wert false. Natürlich kann dieses Schema nur angewendet werden, wenn die Birne in der Lampe in Ordnung ist und der Stecker steckt.

Beispiel

// Licht ist eingeschaltet
$licht = true;
// Licht ist ausgeschaltet
$licht = false;

Boolesche Werte sind im Allgemeinen das Ergebnis von Vergleichen, die in einem Programm vorgenommen werden. Wie sieht ein solcher Vergleich aus?

$name == "Matthias";

Hier sehen Sie einen Teil eines Vergleichs. Hierbei wird überprüft, ob der Wert der Variablen name der Zeichenkette "Matthias" entspricht. Sollte dies der Fall sein, ist das Ergebnis des Vergleichs der boolesche Wert true. Wenn der Wert der Variablen name nicht der Zeichenkette entsprechen sollte, dann ist das Ergebnis des Vergleichs false. Boolesche Werte werden in PHP für gewöhnlich durch Vergleiche erzeugt und zur Ablaufsteuerung genutzt.

In einer if-else-Konstruktion wird eine Aktion ausgeführt, wenn ein boolescher Wert true ist, aber eine andere, wenn dieser Wert false ist. Häufig wird ein Vergleich, der einen booleschen Wert erzeugt, unmittelbar mit einer Anweisung kombiniert, die diesen Wert benutzt.

Beispiel

<?php
if ($name == "Matthias") {
$spruch = "Hallo " + $name;
echo $spruch;
} else {
$spruch = "Sie kenne ich nicht!";
echo $spruch;
}
?>

Dieses Beispiel prüft, ob der Wert in der Variablen $name der Zeichenkette "Matthias" entspricht. Wenn ja, dann wird in die Variable $spruch die Zeichenkette "Hallo Matthias" eingesetzt, sonst wird in die Variable $spruch die Zeichenkette "Sie kenne ich nicht!" eingesetzt.

PHP ist in der Lage, die Zahlenwerte 1 und 0 als boolesche Werte true und false zu interpretieren.

Beispiel

$signaleins = true;
$signalzwei = 1;

Beide Anweisungen enthalten unterschiedliche Datentypen, jedoch erst aus dem Kontext heraus wird ersichtlich, ob es sich bei der Variablen $signalzwei um einen Zahlenwert oder einen booleschen Wert handelt.

Beispiel

<?php
// Variable
$signalzwei = 1;

// Zahl
$summe = $signalzwei + 5;

// Boolescher Wert
if ($signalzwei == true) {
$zustand = "Signal ist Ein";
echo $zustand;
}
?>

Achtung: C/C++-Programmierer sollten beachten, dass PHP einen eigenen Datentyp Boolean hat. Dies steht im Gegensatz zu C und C++, die einfache ganzzahlige Werte benutzen, um boolesche Werte nachzuahmen.{PSP}Umwandlung nach boolean

Um einen Wert ausdrücklich nach boolean zu konvertieren, benutzen Sie entweder die Umwandlung mittels (bool) oder (boolean).

Beispiel

<?php
// Ausgabe (1)
echo (bool) ((100));
// Ausgabe (1)
echo (boolean) ((100));
?>

In den allermeisten Fällen ist es jedoch nicht notwendig, die Umwandlung selbst vorzunehmen. Ein Wert wird automatisch konvertiert, falls ein Operator, eine Funktion oder eine Kontrollstruktur ein boolean-Argument erfordert.

Bei der Umwandlung nach boolean werden folgende Werte als false angesehen:

Jeder andere Wert wird als true angesehen, einschließlich jeder Ressource.

Achtung: -1 wird als TRUE angesehen, wie jede andere Zahl ungleich null. Ob es sich hierbei um eine negative oder positive Zahl handelt, ist nicht relevant!