Auf die Funktionen kommen wir später wieder zurück.
Neues Thema:
Bedingungen
WENN ein Ereigniss auftritt DANN tue etwas
Umgesetzt im Quellcode
Code:
if(Ereigniss){
// Dann tue etwas!
}
In der Klammer steht das Ereigniss und zwischen den geschweiften Klammern der PHP-Code der dann ausgeführt wird.
Ereigniss ist aber das falsche Wort.
Das was in der normalen Klammer steht nennen wir Bedingung.
=> Sobald die Bedingung erfüllt ist wird der PHP Code in den geschweiften Klammern ausgeführt!
(Sind doch nur zwei verschiedene Wörter für ein und dieselbe Sache.)
Kleines Beispiel:
Code:
<?php
$x=10;
if($x==10){
echo "Variabel \$x hat den Wert 10!";
}
?>
Die Erklärung:
Wir erinnern uns... die "==" stehen für einen Vergleichsoperator.
Wenn der Wert links vom Vergleichsoperator gleich groß ist mit dem auf der rechten Seite dann ist die >Bedingung< erfüllt.
In unserem Beispiel:
Wenn die Variabel "x" den Wert 10 hat ist die Bedingung erfüllt!
Und was passiert wenn die Bedingung erfüllt ist?
DANN wird der PHP-Code in der geschweiften Klammer ausgeführt.
(In unserem Beispiel wird eine Textmeldung am Bildschirm ausgegeben.)
"if" ist übrigends eine sog. Schleife.. nämlich die "If-Schleife"!
(if = wenn)
Soweit alles klar?
Ok, dann erweitern wir mal die If-Schleife zu einer sog. If/Else-Schleife ^^
WENN ein Ereigniss auftritt DANN mach etwas ANSONSTEN mach etwas anderes
Umgesetzt im Quellcode
Code:
if(Ereigniss){
// Dann tue etwas!
} else {
// Dann tue etwas anderes
}
Hä? Was ist denn jetzt passiert?
Ich bring es mal in einem Satz auf den Punkt:
Der PHP-Code der in der zweiten geschweiften Klammer steht wird ausgeführt wenn das Ereigniss nicht auftritt.
Wenn also die Bedingung nicht erfüllt ist.
Code:
<?php
$x=5;
if($x==10){
echo "Variabel \$x hat den Wert 10!";
} else {
echo "Variabel hat einen anderen Wert als erwartet!";
}
?>
Soweit auch verstanden?
Nun, dann gehts weiter...
WENN ein Ereigniss auftritt DANN mach etwas ANSONSTEN WENN Ereigniss 2 auftritt DANN mach etwas anderes ANSONSTEN mach etwas anderes
Umgesetzt im Quellcode
Code:
if(Ereigniss){
// Dann tue etwas!
} else if(Ereigniss2) {
// Dann tue etwas anderes
} else {
// Dann tue etwas ganz anderes
}
Code:
<?php
$x=8;
if($x==10){
echo "Variabel \$x hat den Wert 10!";
} else if($x>5){
echo "Der Wert von Variabel \$x ist größer als 5!1";
} else {
echo "Variabel hat einen anderen Wert als erwartet!";
}
?>
Anmerkung zum Beispiel:
Für die zweite Bedingung hab ich mal anderen Operator verwendet wie unschwer aufällt.
Du kennst ihn bereits aus der Schule (1. Klasse, Fach Mathematik, zweites Thema - direkt nach dem Zahlen-Zählen

)
Hier findest du die Operatoren die du verwenden kannst:
http://www.w3schools.com/php/php_operators.asp
(# Comparison Operators)
Soweit verstanden?
Jut dann gehts weiter
Problematik: Wir wollen eine Bedingung aufstellen die dann erfüllt ist wenn der Wert von Variabel $y größer als 10 ist und kleiner als 20.
Lösung:
Die zwei einzelnen Bedingungen zu einer Bedingung verknüpfen mittels logischem >UND< Operator (&&

.
Code:
<?php
$y=13;
if($y>10&&$y<20){
echo "Bedingung erfüllt ;)";
}
?>
Oder man schreibt:
Code:
<?php
$y=13;
if($y>10 and $y<20){
echo "Bedingung erfüllt ;)";
}
?>
Soweit verstanden?
Nun dann machen wir weiter.
Logischer Operatoren (Logical Operators) kennst du bestimmt schon von Suchmaschinen wie Google.
Hier findest du die Liste:
http://www.w3schools.com/php/php_operators.asp
Wichtig ist noch das "||" - es steht für "oder".
Code:
<?php
$y=6;
if($y>10 || $y==6){
echo "Bedingung erfüllt ;)";
}
?>
Was pasiert in diesem Beispiel:
Der Text "Bedingung erfüllt

" wird ausgegeben WENN $y größer 10 ist oder gleich dem Wert 6.
Soweit auch verstanden?
Super, dann leg ich gleich noch einen drauf.
Wie du weist arbeitet der PC nur mit Einsen und Nullen (Strom fliest oder fliest nicht).
In der Programmierung gibt es deshalb sog. booleanische Werte.
Es gibt "true": Steht für "ist wahr/erfolg", bzw. eine Eins
Und "false": STeht für "ist nicht wahr/misserfolg" bzw. eine Null
Achtung aufgepasst:
Wenn eine Bedingung erfüllt wird, wie z.B. $x==123, dann wird dieser Erfolg als Wert "true" weiterverarbeitet! <= Friss diese Zeile!
Deshalb passiert folgendes wenn ich den Wert "true" direkt in die If-Schleife schreibe:
Code:
if(true){
echo "wird angezeigt";
}
if(false){
echo "wird nicht angezeigt!";
}
So und jetzt mal mit Variabel:
Code:
<?php
$x=true;
if($x){
echo "Juhuu! :)";
}
?>
Man kann also sagen: Sobald true an die if zurückgegeben wird wird der PHPCode in der geschweiften Klammer ausgeführt!
So und jetzt verwirre ich dich mal uns schreib ein paar komische Beispiele die du bitte ausprobiert und mir sagt was heraus kommt und warum deiner meinung das passiert.
Code:
<?php
echo "<br />1.:";
$x=1;
if($x){
echo "Erfolg";
} else {
echo "Misserfolg";
}
echo "<br />2.:";
$x=0;
if($x){
echo "Erfolg";
} else {
echo "Misserfolg";
}
echo "<br />3.:";
$x=5;
if($x){
echo "Erfolg";
} else {
echo "Misserfolg";
}
echo "<br />4.:";
$x=-5;
if($x){
echo "Erfolg";
} else {
echo "Misserfolg";
}
echo "<br />5.:";
$x="dies ist ein text";
if($x){
echo "Erfolg";
} else {
echo "Misserfolg";
}
echo "<br />6.:";
$x=array(); //macht x zu einem array aber ohne inhalt
if($x){
echo "Erfolg";
} else {
echo "Misserfolg";
}
echo "<br />7.:";
$x=null;
if($x){
echo "Erfolg";
} else {
echo "Misserfolg";
}
?>
Also.. was erkennst du daraus.
Wie verhält sich PHP mit den verschiedenen Zahlen und Variabeltypen.
Wie muss eine Variabel sein damit sie in ein "true" umgewandelt wird in einer If-Schleife?