Grossmann-php_grund

Werbung
Anführungszeichen?!
echo 'Apfel$atf';
echo "Apfel$atf";
echo "Apfel\$aft";
// ergibt: Apfel$aft
// ergibt: Apfel + Inhalt der Variable $aft
// ergibt: Apfel$aft
echo 'c:\temp';
echo "c:\temp";
echo "c:\\temp";
echo 'c:\\temp';
// ergibt: c:\temp
// ergibt: c: + Tabulator + emp
// ergibt: c:\temp
// ergibt: c:\temp
→ In PHP können Strings sowohl von normalen Anführungszeichen (")
als auch von Hochkommata (') eingefasst werden.
→ Der Bereich zwischen Anführungszeichen wird von PHP ausgewertet,
während alles, was zwischen Hochkommata steht, von PHP schnell
übergangen wird.
→ Strings in Hochkommata werden schneller verarbeitet, allerdings
werden dann Variablen nicht durch ihren Wert ersetzt.
Operatoren
Ermöglichen das Arbeiten mit Daten.
→ Variablenwerte vergleichen oder verändern.
Zuweisungsoperator: „=“
$a=5;
// Die Variable $a bekommt den Wert 5 zugewiesen
$b=$a; // $b erhält den Wert von $a.
Arithmetische Operatoren
Addition(+), Subtraktion(-), Multiplikation(*), Division(/),
Modulo(%).
$a=9;
$b=5;
$c=$a+$b;
$c=$a*$b;
$c=$a%$b;
// $c ist jetzt 14.
// $c ist jetzt 45.
// $c ist jetzt 4.
Vereinfachte Schreibweisen:
$a=5;
$a=$a*5;
$a*=5;
$a=$a+1;
$a++;
erhöht.
$a=$a-1;
// In beiden Zeilen wird $a=25.
// In beiden Zeilen wird der Wert von $a um 1
Die Inkrement-Operatoren (++, --) funktionieren auch mit
Buchstaben.
$Zeichen=A;
$Zeichen++;
echo ++$Zeichen
echo $Zeichen++
// $Zeichen ist jetzt B;
// Ausgabe ist C;
// Ausgabe bleibt C;
Sind beide Operanden Integer, so ist auch das Ergebnis ein
Integer.
Ist ein Operand eine Kommazahl, so ist auch das Ergebnis
eine Kommazahl.
Zeichenkettenoperatoren
Der einzige echte Zeichenketten Operator ist „.“.
→ Wird verwendet zum verknüpfen von Zeichenketten.
$string= “Guten “;
$string2= $string.“Tag!“;
echo $string2;
//Die Ausgabe hier ist „Guten Tag!“.
Auch hier ist eine verkürzte Schreibweise möglich:
$string = „Guten “;
$string .= „Tag!“;
// Ausgabe auch hier: „Guten Tag!“.
Vergleichsoperatoren
Werden zum Formulieren von Bedingungen verwendet, welche
z.B. bei der if-Funktion notwendig sind (später mehr dazu).
Ist eine Bedingung erfüllt, wird TRUE zurückgegeben,
ansonsten FALSE.
Zur Erinnerung:
„=“ ist Zuweisungsoperator und kein Vergleichsoperator!
Vergleichsoperatoren:
== Gleichheit (z.B. $a == 10)
=== Identität (z.B. $a === 10)
!= Ungleichheit (z.B. $a != 10)
> Größer als (z.B. $a > 10)
>= Größer als oder gleich (z.B. $a >= 10)
< Kleiner als (z.B. $a < 10)
<= Kleiner als oder gleich (z.B. $a <= 10)
Logische Operatoren
Bieten die Möglichkeit Vergleichsoperatoren zu komplexeren
Bedingungen zu verknüpfen.
Logische Operatoren:
&& (and)
|| (or)
xor
→ und
→ oder
→ ist TRUE, wenn eine der Bedingungen wahr ist,
nicht aber wenn beide wahr oder falsch sind.
Beispiele:
$a=5;
$b=10;
$c=15;
$a < $b
$a==$b
$c>$a
&&(and)
||(oder)
xor
$a<=$c
$a!=$c
$c>$b
→ TRUE
→ TRUE
→ FALSE
Kontrollstrukturen
If-Abfrage:
→ Eine der häufigstens Konstrukte in Programmcodes
→ Abfrage des Zustands von Variablen oder Konstanten in
Folge dessen Anweisungen ausgeführt werden.
if(Bedingung)
{
Anweisung;
}
else
{
andere Anweisung;
}
Beispiele:
$Vermoegen=100;
$Steuern=50;
$Vermoegen -= $Steuern;
if($Vermoegen<=0)
{
echo „Sie sind pleite!“;
}
else
{
echo „Ihr Vermögen beträgt $Vermoegen!“;
}
--------------------------------------------------------------------------------------------------if($Vermoegen<20) {
echo „Besser etwas sparen!“;
}
elseif
($Vermoegen>=20 && $Vermoegen < 50) {
echo „Ein Bier geht noch!“;
}
elseif
($Vermoegen>=50 && $Vermoegen < 75) {
echo „Eine Runde ausgeben!“;
}
elseif
($Vermoegen>=75 && „Vermoegen <100) {
echo „Auch morgen gibt’s ein warmes Essen!“;
} else {
echo „Sie sind reich!“;
}
Switch-Anweisung:
→ Ersetzt die Verwendung von mehreren elseif-Abfragen.
$Nachrichten=3;
switch($Nachrichten) {
case 0:
echo „Sie haben keine Nachrichten“;
break;
case 1:
echo „Sie haben $Nachrichten Nachricht“;
break;
case 2:
echo „Sie haben $Nachrichten Nachrichten“;
break;
case 3:
echo „Sie haben $Nachrichten Nachrichten“;
break;
case 4:
echo „Sie haben $Nachrichten Nachrichten“;
break;
default:
echo „Sie sind unglaublich beliebt!“;
break;
}
Schleifen
Schleifen werden immer dann genutzt, wenn man einen
Programmteil mehrfach ausführen will, ohne ihn im Code
mehrfach schreiben zu müssen.
Die Anzahl der Schleifendurchläufe wird durch eine Bedingung
kontrolliert.
Der Schleifenrumpf wird mehrfach mit (meist) unterschiedlichen
Variableninhalten durchlaufen.
PHP bietet vier Möglichkeiten zur Formulierung von Schleifen:
→ while-Schleife
→ do-while-Schleife
→ for-Schleife
→ foreach-Schleife
While-Schleife:
→ Einfachster Schleifentyp mit nur einer Bedingung im Schleifenkopf.
→ Wenn die Bedingung TRUE ergibt, so wird der Schleifenrumpf
ausgeführt und danach die Bedingung erneut überprüft.
→ Bei FALSE wird die Schleife beendet.
$a=0;
While ($a<5)
{
echo $a;
$a++;
}
→
Die Anweisungen werden hier solange wiederholt, bis die $a größer
als 4 wird.
→ Das Programmstück gibt also die Zahlen von 1 bis 4 aus.
Do-while-Schleife:
→ Funktioniert ähnlich wie while-Schleife, nur wird die Bedingung
erst nach den Anweisungen ausgewertet.
→ Anweisungen werden mindestens einmal ausgeführt.
$i = 0;
do {
echo "Die derzeitige Ziffer ist: $i“;
$i++;
}
while ($i < 5);
→ $i wird auf jeden Fall mindestens einmal ausgegeben, erst danach
die Bedingung ($i>5) überprüft.
Die for-Schleife:
→ fasst Sie die Bestandteile einer while-Schleife (Initialisierung und
Inkremetierung) im Schleifenkopf zusammen.
→ Bedingung wird auch hier vor dem ersten Schleifendurchlauf
geprüft.
for (initialisierung;bedingung;anweisung)
{
Anweisungen;
}
→ Die Anweisung (meist Inkrementierung) im Schleifenkopf ändert die
in der Bedingung geprüften Variablenwerte bei jedem Durchlauf, bis
FALSE zurückgegeben wird.
→ Jeder der drei Bestandteile des Schleifenkopfs kann auch leer
bleiben.
Beispiele:
for ($i = 1 /*(initialisierung)*/; $i <= 10 /*(bedingung)*/; $i++ /*(anweisung)*/)
{
if ( $i > 6 )
{
Schleifenrumpf
break;
}
Anweisungen
echo „Schleifendurchlauf: $i <br />“;
//
}
//
//
// mit
//
-------------------------------------------------------------------------------------------------
$i = 10;
for (;;)
// Keine Angaben im Schleifenkopf →
Endlosschleife
{
echo „$i, “;
if (--$i < 0)
break;
}
// Ausgabe: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
Foreach-Schleife:
→ wird meist dann verwendet, wenn Arrayinhalte ausgegeben
werden sollen.
→ für ein Array werden die jeweiligen Inhalte ermittelt und
einer Variablen zugewiesen.
foreach ($array as $value) {
echo "Der aktuelle Wert ist: $value <br />";
}
→ Die foreach-Schleife benötigt keine Angabe zur Anzahl der
vorhandenen Arrayelemente, da sie deren Anzahl selbst
ermittelt.
→ Die Inhalte des Arrays $array werden also hier der Variable
$value zugewiesen, welche im Schleifenrumpf ausgegeben
wird.
Beispiel:
$frucht[0] = "Kirschen";
$frucht[2] = "Kiwis";
$frucht[6] = "Äpfel";
$frucht[3] = "Bananen";
$frucht[8] = "Mangos";
$frucht[5] = "Orangen";
$frucht[1] = "Melonen";
$frucht[7] = "Feigen";
$frucht[4] = "Birnen";
foreach ($frucht as $element)
{
echo „$element <br />";
}
Ausgabe am Bildschirm:
Kirschen
Kiwis
Äpfel
Bananen
Mangos
Orangen
Melonen
Feigen
Birnen
→ Die Indizes der Arrayelemente haben bei der foreach- Schleife
keinen Einfluss auf die Reihenfolge der Elemente.
→ PHP-intern erstellt foreach eine Kopie des angegebenen Arrays und
durchläuft diese Kopie nach dessen interner Ordnung, die nicht
notwendigerweise der "richtigen" Reihenfolge entspricht.
Herunterladen