Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP?
In über
130.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
Clientseitige Webprogrammierung
Nach dem Start des Programms gibt der Benutzer sein Alter ein. Wenn ein Wert eingegeben wird, der kleiner als 18 ist, erhält der Benutzer die Mitteilung, dass er noch nicht volljährig ist. Ist der Wert größer oder gleich 18 und kleiner als 67, wird die Meldung angezeigt, dass der Benutzer volljährig ist. Hat der Anwender einen Wert eingegeben, der größer oder gleich 67 ist, erfährt er, dass er sich im Rentenalter befindet.
Der Programmcode beginnt wie gewohnt mit einer Variablendeklaration. Im Anschluss daran wird die prompt-Funktion ausgeführt, die das vom Anwender eingegebene Alter in der Variablen Alter ablegt. Nun beginnt der if...else-Block. Die erste Anweisung
if (Alter >= 18 && Alter < 67) {
enthält eine besondere Bedingung. Eigentlich besteht die Anweisung aus zwei Bedingungen, die mit einem so genannten logischen Operator verknüpft sind. Die erste Bedingung lautet Alter >= 18. Sie ist wahr, wenn der vom Anwender eingegebene Wert größer oder gleich 18 ist. Die zweite Bedingung lautet Alter < 67. Diese Bedingung ist erfüllt, wenn die Anwendereingabe kleiner als 67 ist.
Der Operator zwischen den beiden Bedingungen ist &&. Es ist ein logischer UND-Operator. Dieser Operator verknüpft die beiden Bedingungen zu einer Bedingung. Die Bedingung ist somit wahr, wenn der eingegebene Wert größer oder gleich 18 und kleiner als 67 ist.
Die zweite Bedingung befindet sich in den Zeilen
else {
if (Alter >= 67) {
und prüft, ob der vom Anwender eingegebene Wert größer oder gleich 67 ist. Wenn die Eingabe größer oder gleich 18 und kleiner als 67 ist, werden somit die Anweisungen ausgeführt, die der Zeile
if (Alter >= 18 && Alter < 67) {
folgen. Ist der Wert größer oder gleich 67, werden die Anweisungen vom Computer ausgeführt, die den Zeilen
else {
if (Alter >= 67) {
folgen. Wenn keine der beiden Bedingungen wahr ist, wenn also das eingegebene Alter niedriger als 18 ist, werden die Anweisungen ausgeführt, die der letzten Zeile
else {
folgen.
Vergleichsoperatoren
Zur Formulierung einer Bedingung verwenden Sie so genannte Vergleichsoperatoren. In den vorherigen Beispielen sind dies die Operatoren >= (größer oder gleich) und < (kleiner als). Es gibt jedoch weitaus mehr Operatoren, um zwei Ausdrücke miteinander zu vergleichen. Dabei unterscheiden Sie zusätzlich zwischen Bedingungen, die zwei Zeichenfolgen oder zwei Zahlen miteinander vergleichen. Die Tabelle 9.1 nennt alle Vergleichsoperatoren, die Ihnen zur Verfügung stehen.
Tabelle 9.1 Vergleichsoperatoren
Bedingung
Zahlen
Wert x ist gleich Wert y
x == y
Wert x ist ungleich Wert y
x != y
Wert x ist größer als Wert y
x > y
Wert x ist größer oder gleich Wert y
x >= y
Wert x ist kleiner als Wert y
x < y
Wert x ist kleiner oder gleich Wert y
x <= y
Das if...else-Problem
Beachten Sie bitte, dass das Schreiben von if...else-Entscheidungsstrukturen sehr umständlich
werden kann, wenn mehrere else-Anweisungen verwendet werden. Das folgende Programm demonstriert
ein häufig beobachtetes Problem, das auch vielen erfahrenen Programmierern gelegentlich
unterläuft.
Listing 9.14 if...else mit Problemen
<script language="javascript" type="text/javascript">
<!--
var Alter;
Alter = prompt("Geben Sie bitte Ihr Alter in Jahren ein:");
if (Alter >= 18) {
alert("Sie sind volljährig!");
}
else {
if (Alter >= 67) {
alert("Sie befinden sich im Rentenalter!");
}
else {
alert("Sie sind noch nicht volljährig!");
}
}
// -->
</script>